2009-07-27 3 views
0

В моем файле .htaccess у меня определено следующее правило.конфликт правил htaccess?

RewriteRule t/([^.]+)/$ /video/tag.php?tag=$1 [QSA] 

Это правило отлично работает для страниц тегов. Когда я обращаюсь к URL как http://example.com/video/t/funny/, тогда он отображает весь результат с тегом смешно.

Но когда я обращаюсь к URL-адресу http://example.com/video/script/common/video.php Затем он отображает страницу TAG с результатами поиска для тега common. Я думаю, что существует определенное противоречие между URL-адресом и правилом .htaccess.

Его принятие /t/common/ и применение правила htaccess на этом. Как решить эту проблему?

ответ

2

Ваше правило перезаписи соответствует соответствующей строке. Вы хотите, чтобы изменить его, чтобы быть похожим на это:

RewriteRule ^/video/t/([^.]+)/$ /video/tag.php?tag=$1 [QSA] 

В принципе, то, что происходит в том, что, так как вы не указали в начале вашего правило, это было соответствие конец «сценарий» в вашем URL и принимая это оттуда.

Если вы хотите менее определенную строку, попробуйте этот один:

RewriteRule /t/([^.]+)/$ /video/tag.php?tag=$1 [QSA] 
+0

Когда я добавляю 'RewriteRule ^/видео/т /([^.]+)/$ /video/tag.php? tag = $ 1 [QSA] 'rul в моем .htaccess файле папки' video', тогда он дает мне 404 страницы, не найденную ошибку? – Prashant

+0

Тогда попробуйте другое правило. Первое правило, которое я поставил, будет лучше всего работать в корне вашего домена. –

+0

Да, сначала лучше всего работает в корневом приложении ma. Но для работы правила в htaccess моей видеопапки я добавил 'RewriteRule^t /([^.]+)/$ /video/tag.php?tag=$1 [QSA]', и он работает для меня. благодаря – Prashant

Смежные вопросы