Перенаправление URL добавлено в .htaccess - PullRequest
0 голосов
/ 10 ноября 2009

Может ли кто-нибудь помочь мне с добавлением правил перенаправления в мой .htaccess? Я хочу перенаправлять посетителей веб-сайтов на основе введенного ими URL-адреса. Например:

  1. Если посетитель вводит URL без www для перенаправления в мой корень (index.php)
  2. Если посетитель вводит URL, но с WWW будет перенаправлен на http://domain.com/home/index.html

Редактировать : Исходя из вашего описания выше и вашего комментария ниже, кажется, что вы хотите, чтобы запросы перенаправлялись следующим образом:

www.domain.com             -> domain.com/home/index.html
www.domain.com/about.php   -> domain.com/home/index.html
domain.com                 -> domain.com/index.php
domain.com/home/index.html -> domain.com/index.php
domain.com/news.php?id=5   -> domain.com/index.php

Если нет, замените это редактирование некоторыми исправленными примерами.

1 Ответ

1 голос
/ 11 ноября 2009

Попробуйте эти правила:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://example.com/home/index.html [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^ http://example.com/index.php [R=301,L]

Но учтите, что если вы перенаправляете на тот же хост (как, вероятно, делает первое правило), вы получите бесконечную рекурсию. Таким образом, вы можете разделить первое правило, исключив /home/index.html:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule !^home/index\.html$ http://example.com/home/index.html [R=301,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...