Nic*_*ant 8 apache mod-rewrite url-rewriting
我有一个看起来像这样的VirtualHost:
<VirtualHost *:80>
ServerName domain1.com
ServerAlias www.domain1.com domain2.com www.domain2.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
当有人访问www.domain1.com/test时,应将其重定向到:
domain1.com/test
Run Code Online (Sandbox Code Playgroud)
当有人访问www.domain2.com/test时,应将其重定向到:
domain2.com/test
Run Code Online (Sandbox Code Playgroud)
我目前的RewriteRules缺乏.
编辑:这是我到目前为止所得到的:
# Rewrite www to non-www
RewriteEngine on
RewriteCond %{HTTP_HOST} www\.%{HTTP_HOST}$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)
显然,这会产生无限重定向循环.
bob*_*nce 10
无需重写.
<VirtualHost *:80>
ServerName domain1.com
ServerAlias domain2.com
... real vhost settings ...
</VirtualHost>
<VirtualHost *:80>
ServerName www.domain1.com
Redirect permanent / http://domain1.com/
</VirtualHost>
<VirtualHost *:80>
ServerName www.domain2.com
Redirect permanent / http://domain2.com/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
你的RewriteCond有点不稳定.我很惊讶它做了什么,因为它似乎试图匹配主机www.domain1.com与模式www\.www.domain1.com.这些指令对我有用:
# Redirect www to non-www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4464 次 |
| 最近记录: |