2012-05-20 4 views
0

Я работаю с каркасом и должен сделать вызов определенного файла в каталоге, однако каталог настроен для URL-адресов всех запросов index.php для рамки ради.Запишите правило перезаписи .htaccess, исключая один файл

У меня есть файл с именем check-session.php и для любых запросов к localhost/admin/check-session.php для выполнения фактического файла check-session.php вместо маршрута до index.php. Как это сделать с файлом .htaccess в той же папке, что и check-session.php?

У меня мало опыта в переписывании правил/условий.

+1

Пожалуйста, ваше существующее .htaccess из '/ каталога $ document_root admin'. – anubhava

+0

Добавьте 'RewriteRule^admin/check-session \ .php $ - [L]' выше правила catch-all – Gerben

ответ

0

Найти RewriteRule, который переписывает на index.php и поместить их непосредственно перед ним:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{REQUEST_URI} !\.php$ 

Это должно остановить его отображение на index.php, если это реальный файл, который вы запрашиваете.

Если это не работает, размещать фактические переписывает в .htaccess

+0

Не работает, так оно и есть. RewriteEngine на RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% {REQUEST_FILENAME}! -d RewriteCond% {REQUEST_FILENAME}! -l RewriteRule. * Index.php –

+0

Это полный объем файла .htaccess? – Sp4cecat

+0

Попробуйте добавить: RewriteCond% {REQUEST_URI}! \. Php $ Я добавил его к своему ответу. – Sp4cecat

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