Options +SymLinksIfOwnerMatch
IndexIgnore */*
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite.com$ [nc]
Rewriterule ^(.*)$ http://www.mysite.com/$1 [r=301,nc,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . url_handle.php
我要做的是有一个www重写规则,以便没有www的网址。使用www重定向到相同的网址。字首。我也使用干净的URL,因此任何未知的URL都会被发送到url_handle.php进行处理。
问题是,如果我有“http://mysite.com/part_1/part_2/part_3”这样的网址,则会重定向该网址,然后显示“http://www.mysite.com/url_handle.php/part_2/part_3”,省略“part_1”并将其替换为“url_handle.php”
答案 0 :(得分:1)
首先,要将非www站点重定向到www,请使用以下命令:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mysite\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://www.mysite.com/$1 [L,R,NE]
这意味着,如果网址不是“www.mysite.com”,如果不是空白,则重定向到“www.mysite.com”
<小时/> 其次,要将未知站点重定向到特定页面,请使用以下命令:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://www.mysite.com/url_handle.php [R=301,L]
最后一行将为您节省:)