странное поведение .htaccess - PullRequest
0 голосов
/ 21 марта 2012

у меня есть следующий файл .htaccess для меня web

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)-(.*)-offers.html$   current-offers.php?id=$2 [L] 
RewriteRule ^(.*)-(.*).html$   vpn-offer-detail.php?id=$2 [L]
RewriteRule ^(.*)-(.*)-details.html$   vpn-provider-detail.php?id=$2 [L]

Я на самом деле пытался внедрить SEO дружественные URL через файл htaccess. Когда я загрузил файл в свой веб-каталог, я застрял в чем-то странном.

Похоже, что правило 1 переписывания (для предложений) в порядке, условие 2 тоже в порядке,

Но, переходя к условию 3 (vpn provider detail.php), происходит беспорядок ... браузер правильно показывает URL, но показанное содержимое страницы не vpn provider.php. скорее, содержимое отображается с условием один (текущий offer.php). Я не могу понять, почему это происходит там. Обратите внимание, что URl отображается в браузере, как и должно быть, но содержимое страницы - current_offers.php (перенаправляет на него, но не показывает содержимое)

Может кто-нибудь наставить меня, пожалуйста? и скажите мне, в чем проблема с моим кодом? или почему это происходит со мной?

спасибо ..

1 Ответ

1 голос
/ 21 марта 2012

Это вопрос порядка.

Hide-My-Ass-1009-details.html не проходит 1-е условие, но проходит 2-е и с [L]- что означает «Последний» - это относится к этому.

Быстрое решение должно быть

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)-(.*)-offers.html$   current-offers.php?id=$2 [L] 
RewriteRule ^(.*)-(.*)-details.html$   vpn-provider-detail.php?id=$2 [L]
RewriteRule ^(.*)-(.*).html$   vpn-offer-detail.php?id=$2 [L]
...