2011-03-31 48 views
0

我是新来的.htaccess重定向。.htaccess重写 - http://到http:// www

我使用下面的代码

Options +FollowSymlinks 
RewriteEngine on 
rewritecond %{http_host} ^example.com [nc] 
rewriterule ^(.*)$ http://www.example.com/$1 [r=301,nc] 

但是,当我打我得到重定向的URL http://example.com/folder/file.phphttp://www.example.com/file.php这是不对的。

是否有人可以帮助我这个

帮助是非常apreciated

感谢

+0

我在我的.htaccess中有类似的代码,但在代码中看不到任何错误。有一些细微差别,比如第一行中的'%{HTTP_HOST}^example \ .com $ [NC]'和最后一行中的'[R,L,QSA]'。那个.htaccess中有一些其他的重写规则吗? – 2011-03-31 01:05:34

+0

请首先告诉我们你想从这个重写规则中得到什么?很少有纯文本的例子会很好。 – anubhava 2011-03-31 01:18:52

+0

@anubhava基本上当用户输入'http:// example.com/folder/file.php'时,我想让他重定向到'http:// www.example.com/folder/file.php' – Alloi 2011-03-31 01:33:29

回答

0

好吧,你可以在你的.htaccess或Apache的conf文件试试这个:

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example\.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] 
0

有是一些拼写错误和一些非转义字符,但最重要的是你在那个* rewritecond%{http_host}^example.com [nc] *行中缺少一个需要的“$”字符。

这里是你的代码“因为它应该是”:

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^example\.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC] 

虽然,我个人使用,并建议做这样的:

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^!www\.example\.com$ [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC] 

这应该让你去.. 。)

相关问题