Удалить подпапку с помощью перезаписи URL - PullRequest
0 голосов
/ 25 марта 2020

Я не эксперт по перезаписи URL , но я бы хотел использовать .htaccess , чтобы отобразить такой путь:

https://www.example.com/folder/login/

следующим образом:

https://www.example.com/folder/

, но я не хочу реального перенаправления: мой сайт должен отображать страницу https://www.example.com/folder/login/, но URL будет другим , чтобы пользователь мог думать, что он все еще находится на https://www.example.com/folder/ во время входа в систему.

Возможно ли это?

Если это так, последний вопрос: я уже включил RewriteEngine on в папке ROOT нужно ли помещать ее в другой файл .htaccess (который помещается в https://www.example.com/folder/login/)?

1 Ответ

1 голос
/ 25 марта 2020

/folder/ - запрошенный URL-адрес, который отображается в адресной строке браузера, а /folder/login/ - базовый путь к файловой системе, в который переписывается запрос.

Внутренняя перезапись /folder/ в /folder/login/ попробуйте следующее в файле root .htaccess.

RewriteEngine On

RewriteRule ^folder/$ /folder/login/ [L]

/folder/login/ предположительно является каталогом файловой системы, поэтому он не будет обрабатывать запрос напрямую. В идеале вы должны переписать файл напрямую, который обрабатывает запрос. В этом случае я предполагаю, что mod_dir выдаст внутренний подзапрос для документа индекса каталога, например. index.php?

Я уже включил RewriteEngine в папке ROOT

Обратите внимание, что порядок директив имеет значение.

Должен ли я поместить его в другой .htaccess файл (который помещается в https://www.example.com/folder/login/)

Нет, вы можете поместить его в файл root .htaccess. (Вы могли бы поместить это в /folder/.htaccess, но директивы должны были бы измениться. Не было бы смысла помещать это в /folder/login/.htaccess, так как тогда вы не могли скрыть подкаталог /login.)

...