Помогите с mod_rewrite - PullRequest
       11

Помогите с mod_rewrite

1 голос
/ 26 мая 2009

У меня есть папка home / admin. В этой папке находится index.php. Когда я захожу на domain.com/admin/, мое правило mod_rewrite перенаправляет его в мой index.php в домашней папке. Я хочу, чтобы mod_rewrite пропустил существующую папку или файлы, а также специальный случай для / admin / folder, который содержит файл index.php.

Мое правило перезаписи:

 <IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteRule ^$ index.html [QSA]
   RewriteRule ^([^.]+)$ $1.html [QSA]
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^(.*)$ index.php [QSA,L]
 </IfModule>

Спасибо.

1 Ответ

3 голосов
/ 26 мая 2009

Попробуйте изменить

RewriteCond %{REQUEST_FILENAME} !-f

до

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Это пропустит как каталоги, так и файлы

Edit: Я думаю, что это правило нарушается (также):

RewriteRule ^([^.]+)$ $1.html [QSA]

Попробуйте вместо этого

RewriteRule (^|/)([^.]+)$ $2.html [QSA]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...