Настройка.htaccess. Работа во вложенной папке сайта
Есть папка - site.ru/admin/
Как настроить .htaccess для site.ru/admin/, чтобы любой адрес вида "site.ru/admin/здесь_может_быть_что_угодно" переадресовывался на корень админки.
Сейчас у меня кусок .htaccess (лежит в /admin/), отвечающий за переадресацию выглядит так:
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .ini.geshi_code {font-family:monospace;} .ini.geshi_code .imp {font-weight: bold; color: red;} .ini.geshi_code .co0 {color: #666666; font-style: italic;} .ini.geshi_code .sy0 {color: #000066; font-weight:bold;} .ini.geshi_code .st0 {color: #933;} .ini.geshi_code .re0 {color: #000066; font-weight:bold;} .ini.geshi_code .re1 {color: #000099;} .ini.geshi_code .re2 {color: #660066;} .ini.geshi_code span.xtra { display:block; }
Работает этот код как-то страно: строка вида "site.ru/admin/clients/add/" работает отлично, а просто админка "site.ru/admin/" не работает...
Я уже голову сломал, шо ему надо? :)
update:
Поправка: эта переадресация работает, только css подключается на первом уровне вложенности (напр. /admin/level1/), а больше (/admin/level1/...) - нет.
Это если файл .css имеет относительные пути, если указать абсолютные, то работает. Но так неудобно.
Может кто подскажет, почему так происходит?
Как настроить .htaccess для site.ru/admin/, чтобы любой адрес вида "site.ru/admin/здесь_может_быть_что_угодно" переадресовывался на корень админки.
Сейчас у меня кусок .htaccess (лежит в /admin/), отвечающий за переадресацию выглядит так:
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .ini.geshi_code {font-family:monospace;} .ini.geshi_code .imp {font-weight: bold; color: red;} .ini.geshi_code .co0 {color: #666666; font-style: italic;} .ini.geshi_code .sy0 {color: #000066; font-weight:bold;} .ini.geshi_code .st0 {color: #933;} .ini.geshi_code .re0 {color: #000066; font-weight:bold;} .ini.geshi_code .re1 {color: #000099;} .ini.geshi_code .re2 {color: #660066;} .ini.geshi_code span.xtra { display:block; }
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /admin/$1 [PT,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /admin/$1 [PT,L]
Работает этот код как-то страно: строка вида "site.ru/admin/clients/add/" работает отлично, а просто админка "site.ru/admin/" не работает...
Я уже голову сломал, шо ему надо? :)
update:
Поправка: эта переадресация работает, только css подключается на первом уровне вложенности (напр. /admin/level1/), а больше (/admin/level1/...) - нет.
Это если файл .css имеет относительные пути, если указать абсолютные, то работает. Но так неудобно.
Может кто подскажет, почему так происходит?
1 ответов
RewriteCond %{REQUEST_FILENAME} !-d - "ЕСЛИ НЕ ПАПКА".
в ваше случае для /admin/ - условие ложно.
Поэтому до правила
RewriteRule ^.*$ /admin/$1 [PT,L]
дело не доходит.