mod_rewrite в каталог - PullRequest
       16

mod_rewrite в каталог

1 голос
/ 17 января 2010

Я пытаюсь создать правило перезаписи в другой каталог, но, к сожалению, оно не работает.

Моя текущая перезапись отправляет все обратно в файл index.php, если первое слово в строке запроса не является admin. Правило переписывания для 'admin' - это admin.php, но на самом деле я хочу, чтобы оно пошло по адресу /var/www/html/website.com/admin/admin.php (вместо файла в том же каталоге).

Это текущий файл .htaccess.

RewriteEngine On
RewriteRule ^(.*\/?).*(css|images|js/)+.*$ - [L]
RewriteRule ^\/?admin\/?(.*)$ admin.php?url=$1 [QSA,L]

RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

Если я изменю правило перезаписи для администратора, чтобы использовать другой каталог ..

RewriteRule ^\/?admin\/?(.*)$ /var/www/html/website.com/admin/admin.php?url=$1 [QSA,L]

Это ломает сайт. Есть идеи?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 17 января 2010

Попробуйте эти правила:

RewriteRule ^admin($|/(.*)) admin/admin.php?url=$2 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php?url=$0 [QSA,L]
0 голосов
/ 17 января 2010

На самом деле все довольно просто, вы используете системный путь, а веб-путь необходим.

Попробуйте следующую строку:

RewriteRule ^\/?admin\/?(.*)$ /subfolder/admin.php?url=$1 [QSA,L]
...