Что не так с этим правилом перезаписи? - PullRequest
0 голосов
/ 30 января 2012

У меня есть .htaccess:

RewriteEngine On
RewriteRule ^!/(.*)$ path/to/a/file/$1 [L]
RewriteRule ^(.*)$ path/to/another/file/$1 [L]

Я хочу, чтобы URL в форме www.website.com/!/this/ были переписаны на path/to/a/file. Любой URL, который не соответствует этому шаблону, должен быть переписан на path/to/another/file/.

Вот что я пытался доказать:

RewriteEngine On
RewriteRule ^!/(.*)$ path/to/a/file/$1 [L]
RewriteCond ...
RewriteRule ^(.*)$ path/to/another/file/$1 [L]

При использовании вышеуказанного правила перезаписи я получаю 500 - Внутренняя ошибка.

Как я могу это исправить?

1 Ответ

3 голосов
/ 30 января 2012

Попробуйте это:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^/!
RewriteRule ^!/([a-z0-9_\-\.]+) user/public/$1 [L]
RewriteCond %{REQUEST_URI} !^/!
RewriteRule ^([a-z0-9_\-\.]+)/([a-z0-9_\-\.]+)/?$ $1/controller/front.php/$2 [L]
RewriteCond %{REQUEST_URI} !^/!
RewriteRule ^([a-z0-9_\-]+)/([a-z0-9_\-]+)/([a-z0-9_\-]+)/?$ $1/controller/front.php/$2/$3 [L]
...