Как переслать корневой запрос в другой каталог с помощью htaccess?

У меня есть корневой каталог, который имеет только тест index.php файл и .htaccess, Можете ли вы помочь с пересылкой корневого запроса (example.com) в дочерний каталог (example.com/wp/index.php). Мне не нужны перенаправления, потому что они изменят URL в адресной строке.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule $^ /wp/index.php [L]
</IfModule>

Это мое .htaccess файл в корневом каталоге на данный момент. И с этим .htaccessСервер верни мне /index.php (корневой индекс, а не из подкаталога).

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

1

Решение

RewriteRule $^ /wp/index.php [L]

У вас есть якоря регулярных выражений (конец строки $ и начало строки ^) кругом неправильный путь. Тем не менее, у вас также могут возникнуть проблемы, если у вас есть DirectoryIndex set (mod_dir вызовет внутренний подзапрос для /index.php, поэтому URL-путь не обязательно пуст).

Попробуйте что-то вроде следующего:

RewriteEngine On
RewriteRule ^(index\.php)?$ /wp/index.php [L]

RewriteRule шаблон ^(index\.php)?$ соответствует либо пустому URL-пути, либо index.php (результат подзапроса mod_dir).

Нет необходимости в <IfModule> контейнер и RewriteBase здесь не используется

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector