2011-03-31 139 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] 

這應該讓你去.. 。)

相關問題