Определение RewriteRule не работает - PullRequest
0 голосов
/ 01 февраля 2012

Если у меня есть следующий RewriteRule без каких-либо других определений RewriteRule

RewriteRule ^de/(var)/(.+) /$1/$2 [NC,L]

Тогда все отлично работает

Но когда у меня есть следующий RewriteRule в файле .htaccess

RewriteRule .* index.php [L]

Тогда первый RewriteRule не работает.

Ответы [ 2 ]

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

Это решение ниже должно решить вашу непосредственную проблему.

Лучшее решение может быть предоставлено, если вы предоставите подробную информацию о намерениях ваших правил.

RewriteEngine On
RewriteBase /

RewriteRule ^de/(var)/(.+) /$1/$2 [NC,L]

#prevent internal redirects
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule .* index.php [L]
0 голосов
/ 01 февраля 2012

Я считаю, что так вы должны соблюдать оба правила:

RewriteRule ^de/(var)/(.+)$ /$1/$2 [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/de/var/ [NC]
RewriteRule ^ index.php [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...