繁体   English   中英

如何将domain.com重写为www.domain.com

[英]How to rewrite domain.com to www.domain.com

我正在尝试编辑apache2.conf以将domain.com重写为www.domain.com:

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    # if request is not for a file/directory 
    RewriteCond %{SCRIPT_FILENAME} -d [OR]
    RewriteCond %{SCRIPT_FILENAME} -f
    # then skip from rewrites
    RewriteRule ^ - [L]

    # add www to hostname
    RewriteCond %{HTTPS} !=on
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{SERVER_ADDR} !=127.0.0.1
    RewriteCond %{SERVER_ADDR} !=::1
    RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    # forward all the requests to `/index.php
    RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>

我看不到任何明显的错误,但是重写不起作用。 有任何想法吗?

对规则进行细微更改:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /

# add www to hostname
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{SERVER_ADDR} !=127.0.0.1
RewriteCond %{SERVER_ADDR} !=::1
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# if request is not for a file/directory 
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
# then skip from rewrites
RewriteRule ^ - [L]

# forward all the requests to `/index.php
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM