2011-08-10 117 views
0

我使用的Apache 2.2在Windows OS, 我需要非WWW网址重定向到www的网址,我在网上查,发现这似乎是工作了很多重定向非WWW网址,以WWW网址,通过htaccess的

RewriteCond %{HTTP_HOST} ^example\.co\.uk [NC] 
RewriteRule ^(.*)$ http://www.example.co.uk/$1 [R=301,L] 

但是,如果使用相同的重写规则,我得到的WWW网址,以点到底:

例如:

http://example.com/test redirects to 
http://www.example.com. 
$1 is "." and its failing to add all params 
+2

你可以把你写在.htaccess中的真实东西? – undone

+0

@Aseman RewriteCond%{HTTP_HOST}^mysite \ .local [NC] RewriteRule ^(。*)$ http://www.mysite.local/$1 [R = 301,L] – Deepak

回答

1

好!
你把这个你.htaccess文件:

RewriteCond %{HTTP_HOST} ^mysite\.local [NC] 
RewriteRule ^(.*)$ mysite.local/$1 [R=301,L] 

如果主机等于mysite.local(!没有提到主机的结束),所以每个URL重定向到目录mysite.local这意味着!
你应该使用这样的:

RewriteCond %{HTTP_HOST} !^www\.mysite\.local 
RewriteRule (.*) http://www.mysite.local/$1 [L,R=301] 

所以每个URL主机不等于www.mysite.local会重定向到这一个!但请记住,如果您想创建子域,请将此子域的文档根目录放在WWW.MYSITE.LOCAL文档根目录下! (更好!)

+0

它仍然重定向到www.mysite 。本地。与params丢弃 – Deepak

+0

@Deepak它是简单的代码,使用每一个地方!你能给我整个.htaccess文件吗?(如果你可以把它上传到我可以下载的地方) – undone

相关问题