У меня есть корневой каталог, который имеет только тест 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
(корневой индекс, а не из подкаталога).
Поэтому я не думаю, что это очень сложный вопрос, но я не могу найти, где я делаю ошибки.
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
здесь не используется
Других решений пока нет …