.htaccess RewriteCond REQUEST_URI не работает

0

У меня в настоящее время много борьбы, создавая этот очень простой.htaccess на моем сайте.

RewriteEngine On

RewriteCond %{REQUEST_URI} !/page
RewriteRule (.*) webroot/$1

RewriteCond %{REQUEST_URI} /page
RewriteRule (.*) pageroot/$1

Я думаю, что код не требует пояснений. Я не знаю, почему, но когда в моем URL-адресе есть страница, она по-прежнему перенаправляется на webroot. Большое спасибо..

Теги:
.htaccess

1 ответ

0
Лучший ответ

Это связано с тем, что ваше второе правило меняет REQUEST_URI на /pageroot/.

root.htaccess:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !/(page|pageroot/|webroot/)
RewriteRule (.*) webroot/$1 [L]

/pageroot/.htaccess:

RewriteEngine On
RewriteBase /pageroot/

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php?/$1 [L,QSA]
  • 0
    Ваш ответ правильный, но он все еще не работает, потому что у меня действительно есть файл .htaccess anoter в папке моей страницы. RewriteEngine On RewriteCond% {REQUEST_FILENAME}! -D RewriteCond% {REQUEST_FILENAME}! -F RewriteRule (. *) /Index.php?/$1 [L]
  • 0
    Теперь я получаю «Запрошенный URL / страница не найдена на этом сервере». ошибка. Страница .htaccess находится в папке pageroot, у меня нет папки страницы. Когда я сказал папку с папкой, я имел в виду папку pageroot
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню