URL перенаправляет правильно, но отображаемый объект не найден - PullRequest
0 голосов
/ 23 февраля 2012

Я подписался на эту тему. Вопросительный знак в конце RewriteRule

Мое требование было таким же.Моя страница перенаправляет (301) правильно, но показывает OBJECT NOT FOUND

Мой фактический URL

http://mydomain.com/iphone_advanced_search_result.php?keywords=test

Мой желаемый URL

http://mydomain.com/search/test

Мой код HTACCESS

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^keywords=(.*)$
RewriteRule ^iphone_advanced_search_result\.php$ search/%1? [R=301,L]`

Почему я получаю эту ошибку?Пожалуйста, помогите!

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012

Если ваш желаемый URL будет использоваться пользователем, это

http://mydomain.com/search/test

и ваш скрипт обработки

http://mydomain.com/iphone_advanced_search_result.php?keywords=test

Ваше переписывание должно быть наоборот, как показано ниже:

RewriteEngine on
RewriteBase /
RewriteRule ^search/(.+)$ iphone_advanced_search_result.php?keywords=$1 [L]
0 голосов
/ 23 февраля 2012

Вы подходите по URL-адресу, который похож на «/iphone_advanced_search_result.php», но ваш фактический URL-адрес не содержит «.php», поэтому он не соответствует.

Удалите «.php 'проверьте из вашего правила, и оно должно работать нормально.

...