RewriteCond не понимаю, как подать заявку! - PullRequest
1 голос
/ 03 января 2011

У меня есть

RewriteRule ^articles/([0-9]+)-(.*)\.html$ article.php?id=$1 [L]
RewriteRule .* index.php

Я до сих пор не понимаю, как применить RewriteCond из-за проблем [L] в .htaccess.Помогите! И заранее спасибо :)

Ответы [ 2 ]

1 голос
/ 03 января 2011

Существует отличный справочный вопрос о сбое сервера, который объясняет, как взаимодействуют правила и условия:
Все, что вы хотели знать о правилах Mod_Rewrite, но боялись спросить?

Ссылка в соответствии с текущим обсуждением на Meta.

0 голосов
/ 03 января 2011

Я думаю, вы ищете что-то вроде этого:

RewriteRule ^articles/([0-9]+)-(.*)\.html$ article.php?id=$1 [L]
RewriteCond $0 !=article.php
RewriteRule .* index.php

Другим решением было бы исключить article.php с шаблоном второго RewriteRule:

RewriteRule !^article\.php$ index.php

Но учтите, что это перезапишет любой другой запрос (включая другие существующие файлы). Чтобы победить, вы можете использовать другое условие для второго правила:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
...