перенаправление htaccss - PullRequest
       1

перенаправление htaccss

0 голосов
/ 21 марта 2012

Я только что переместил сайт в подкаталог.
Вместо того, чтобы менять каждую ссылку, я бы хотел сделать редирект 301 через htaccess.Вот пример того, что я хочу сделать:
Когда кто-то пытается перейти на www.example.com/test.html, я хочу, чтобы он действительно пошел на www.example.com/website/test.html.
Когда кто-то заходит на www.example.com/documents/test.pdf, я хочу, чтобы он заходил на www.example.com/website/documents/test.pdf.
Я хочу добавить каталог / website / к каждому запросу.Поскольку я переместил сайт из корневой папки в этот подкаталог.

У меня есть одно ограничение, я хочу сделать так, чтобы www.example.com/website1/ по-прежнему заходил на www.example.com/website1/.Если это изменит решение, пожалуйста, дайте мне оба решения, потому что я гибок в этом.

1 Ответ

0 голосов
/ 22 марта 2012

2 основных подхода (есть еще несколько, но они зависят от вашей логики перезаписи (другие правила), поэтому могут не подходить для каждого сценария):

Первый:

# Redirect all incoming requests into /website/ subfolder
# but excluding /website1/ folder
# First condition is to prevent infinite redirect
RewriteCond %{REQUEST_URI} !^/website/
RewriteCond %{REQUEST_URI} !^/website1/
RewriteRule ^.*$ http://www.example.com/website%{REQUEST_URI} [R=301,L]

Второй:

# Redirect all incoming requests into /website/ subfolder
# but excluding /website1/ folder
# Condition is to prevent infinite redirect
RewriteCond %{REQUEST_URI} !^/website/
RewriteRule ^(?!website1/).*$ http://www.example.com/website%{REQUEST_URI} [R=301,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...