如何将网址重定向到域。 例如。 http://www.mydomain.com/index.php=HairThing - > http://www.mydomain.com
如何将非www重定向到www而不用斜杠?
例如http://mydomain.com ---> http://www.mydomain.com
答案 0 :(得分:4)
另请参阅:Hidden features of 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]
然而,如Greg所说,示例案例1将始终将/
置于没有uri的情况下。
mydomain.com # impossible
mydomain.com/ # possible
mydomain.com/foo #possible
mydomain.com/foo/ #possible
答案 1 :(得分:2)
对于第二个问题,浏览器将始终在网站名称后面添加斜杠。这是因为需要使用尾部斜杠来指示网站的根路径。
答案 2 :(得分:0)
您可以使用适用于每个域的一般规则,而无需始终更改域名。当您将多个域停放在同一个根目录时,这非常有用。
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]