apache — перенаправить определенный URL-адрес на другой URL-адрес с помощью .htaccess
спросил
Изменено 1 год, 9 месяцев назад
Просмотрено 61к раз
Я хочу иметь псевдоним и перенаправить URL tz433.tld/jobs/
на страницу tz433.tld/about-us/jobs/ 9www\.tz433\.tld/jobs/$
RewriteRule (.*) http://tz433.tld/about-us/jobs.html [R=301,L]
Проблема в том, что в этом корневом пути есть несколько доменов, потому что это мультисайтовая установка typo3. Так что что-то вроде «перенаправить
/jobs
на /about-us/jobs
» не работает, потому что это должно происходить только для определенного домена (tz433).
Следующая конкретная вещь —
www.tz433.tld
автоматически перенаправляет на tz433.
tld
. Так что он также должен работать с 9рабочие места /? http://tz433.tld/about-us/jobs.html [R=301,L] 2
Если кто-то просто заинтересован в простом перенаправлении, вы можете попробовать это:
Redirect /URL URLtoRedirect
например,
Перенаправление /old-url https://mywebsite.com/new-url
2
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Как я могу использовать перезапись .
htaccess для перенаправления корневого URL-адреса в подкаталог? спросил
Изменено
10 месяцев назад
Просмотрено
610 тысяч раз
Попытка получить
www.example.com
, чтобы сразу перейти на
www.example.com/store
9(.*)$ /подпапка/$1 [NC,L]
Приведенное выше правило будет внутренне перенаправлять браузер с:
- http://example.com/
-
- http://example.com/subfolder
И
- http://example.com/foo
-
- http://example.com/subfolder/foo
, пока браузер останется в корневой папке.
1
9/$
Правило перезаписи (.
*) http://www.example.com/store [R=301,L] У меня возникали циклы перенаправления с некоторыми другими решениями.
0
Большинство приведенных выше решений верны, но им не хватает прозрачности перенаправления.
В моем случае при посещении www.example.com я хотел получить перенаправление в подкаталог /store , но без обновления URL-адреса на www.example.com/store 9(.*)$ подписок/%{HTTP_HOST}/$1 [L, QSA]
Таким образом, всякий раз, когда добавляются другие субдомены/домены, если имя субдомена имеет префикс sub (например: sub3.domain1.com, sub1.domain3.com и т. д.), код останется действительным.
Два возможных решения для достижения этой цели:
1. Создайте файл .htaccess
в корневой папке, как показано ниже (просто замените example.com и my_dir соответствующими значениями):
(/)?$ my_dir/index.php [L]
9/$ http://www.example.com/my_dir
Я думаю, что основные проблемы с кодом, который вы разместили, следующие:
-
первая строка совпадает с хостом, начинающимся строго с sample.com, поэтому www.sample.com не совпадает.
-
вторая строка требует хотя бы один символ, за которым следует www.sample.com, который также не соответствует (почему вы экранировали первую w?)
-
ни одно из включенных правил не перенаправляет на URL-адрес, который вы указали в своей цели (плюс образец написан с ошибкой как образец, но это не имеет значения). 9/(.*)$ /выборка/%1/$1 [L]
Для этой цели также можно использовать Redirect
Redirect 301 / www.example.com/store
Или Псевдоним для сопоставления
Псевдоним / /store
Редактировать: mod_alias применим только в httpd.conf.
Ссылки
- http://httpd.
apache.org/docs/2.2/mod/mod_alias.html - https://httpd.apache.org/docs/trunk/rewrite/avoid.html
1
9(.*)$
%{HTTP_HOST}/samlse/$1 [R=301,L]
Я не делал особых перенаправлений в файле .htaccess, поэтому не уверен, что это сработает.
попробуйте использовать следующие строки в htaccess
Примечание: вам может понадобиться проверить, как называется файл default.html
default.html — это файл, который по умолчанию загружается в корневую папку.
RewriteEngine
Redirect /default.html http://example.com/store/
просто добавьте этот код в ваш файл .htaccess 9индекс\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Правило перезаписи. /папка/index.php [L]
Это попробует подкаталог, если файл не существует в корне. Это было необходимо, поскольку я переместил базовый веб-сайт .