301 перенаправление - PullRequest
       11

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

1 голос
/ 10 декабря 2008
  1. Как перенаправить URL-адрес в домен. например. http://www.mydomain.com/index.php=HairThing -> http://www.mydomain.com

  2. Как перенаправить не-www в www без косой черты в конце?

Например http://mydomain.com ---> http://www.mydomain.com

Ответы [ 3 ]

4 голосов
/ 10 декабря 2008

См. Также: Скрытые возможности mod_rewrite

#1
RewriteRule /index.php=HairThing$ http://www.mydomain.com [R=301]

#2
RewriteCond %{HTTP_HOST} ^mydomain.com 
RewriteRule .*   http://www.mydomain.com [R=301] 

Тем не менее, пример 1, как сказал Грег, всегда будет включать /, если он не имеет URI.

mydomain.com  # impossible 
mydomain.com/ # possible
mydomain.com/foo  #possible
mydomain.com/foo/ #possible
2 голосов
/ 10 декабря 2008

Для вашего второго вопроса браузер всегда ставит косую черту после имени сайта. Это связано с тем, что косая черта необходима для указания корневого пути веб-сайта.

0 голосов
/ 01 апреля 2009

Вы можете использовать общее правило, которое работает на каждом домене без необходимости постоянно менять имя домена. Это очень полезно, если у вас есть несколько доменов, припаркованных в одном корне.

RewriteCond %{HTTP_HOST}    !^www\.[a-z0-9-]+\.[a-z]{2,6}   [NC]
RewriteCond %{HTTP_HOST}    ([a-z0-9-]+\.[a-z]{2,6})$       [NC]
RewriteRule (.*)            http://www.%1/$1                [L,R=301]
...