.htaccess重定向网址无法正常工作

时间:2015-01-21 08:05:43

标签: php .htaccess url redirect

我想在有人访问我的网站时更改我的网址,以便非www重定向到www ... http://example.comhttp://www.example.com

我找到了这段代码

RewriteBase / RewriteCond     %{HTTP_HOST} ^example\.com$     RewriteRule ^(.*) http://   www.example.com/$1 [R=301]

但是当我把它添加到我的.htaccess时我得到一个错误....这是错误的代码吗?如何在没有收到错误的情况下将此添加到我的.htaccess中?

我的.htaccess

RewriteEngine On
RewriteCond    %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)$ / profile.php?username=$1

3 个答案:

答案 0 :(得分:1)

将以下行添加到.htaccess文件中;

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

来源:

答案 1 :(得分:1)

您可以在RewriteEngine On下方添加:

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

答案 2 :(得分:0)

使用以下代码覆盖.htaccess文件。

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

RewriteCond    %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)$ / profile.php?username=$1

更了解.htaccess规则:
http://www.web-technology-experts-notes.in/2014/02/htaccess-code-snippets-example.html