#apache #.htaccess #redirect
#apache #.htaccess #перенаправление
Вопрос:
У меня возникли проблемы с написанием правил перенаправления в файле htaccess моего сайта.
В принципе, я хочу написать два правила:
1 — Когда я пишу базовый URL, например http://www.example.com
, я хочу, чтобы он автоматически перенаправлял пользователя http://www.example.com/someDirectory
.
2 — Однако, когда я пишу http://www.example.com/Admin
, я хочу, чтобы он перенаправлял пользователя на http://www.example.com/Admin
.
Вот что мне удалось сделать до сих пор:
# This allows you to redirect index.html to a specific subfolder
Redirect http://www.example.pt http://www.example.pt/MainFolder
# This allows you to redirect index.html to a specific subfolder
Redirect http://www.example.pt/Admin http://www.example.pt/Admin
Однако это не работает… Есть идеи, как это сделать?
Ответ №1:
Попробуйте сделать это так,
Когда нет запроса для определенного файла или каталога, он перенаправит вас на ваш каталог, указанный в правиле, а в остальном он будет работать без какого-либо правила.
Пожалуйста, проверьте.
RewriteEngine on
RewriteCond %{REQUEST_URI} ^$
RewriteRule ^ %{HTTP_HOST}/someDirectory [R,L]
Комментарии:
1. не удается заставить его работать должным образом! в вашем /someDirectory я помещаю свою /MainFolder , но нужно ли мне указывать что-нибудь еще?
2. ошибки нет. он просто не перенаправляет меня! веб-сайт saudadebox.pt . всякий раз, когда я вхожу saudadebox.pt или www.saudadebox.pt , я хочу, чтобы он перенаправил меня на www.saudadebox.pt/SaudadeBox . И всякий раз, когда я вхожу saudadebox.pt/Admin или www.saudadebox.pt/Admin , я хочу, чтобы он перенаправил меня на www.saudadebox.pt/Admin
Ответ №2:
После долгих исследований я смог найти решение своей проблемы. Я оставлю это здесь, на случай, если у кого-то возникнет такая же проблема:
#Rewrite everything to subfolder
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/MainFolder
RewriteCond %{REQUEST_URI} !^/Admin
Rewriterule ^(.*)$ MainFolder/$1 [L]