mod_rewrite条件和规则

时间:2013-07-10 02:47:24

标签: apache mod-rewrite

我已经搜索了这个,我可能只是坐着关闭,但我似乎无法让这个重写工作。我有一个目录上的文件,我想重定向到同一服务器上的vhost域。以下是我的条件,规则和vhost

RewriteCond %{HTTP_HOST} ^/main$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R,l]

<VirtualHost *:80>
ServerName www.domain.com
ServerAlias domain.com
DocumentRoot /data/live/main
</VirtualHost>

1 个答案:

答案 0 :(得分:0)

如果您想将olddomain文件夹main重定向到newdomain,则可以使用:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$ [OR,NC]
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC]
RewriteRule ^main/(.*)$ http://newdomain.com/$1 [R=301,L]

如果您想将olddomain的所有内容重定向到newdomain,那么您可以使用:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$ [OR,NC]
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]

如果您想从www中删除newdomain

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

或者您可以直接在virtualhost上直接执行此操作:

<VirtualHost *:80>
    ServerName newdomain.com
    Redirect permanent / http://www.newdomain.com
    DocumentRoot /data/live/main
</VirtualHost>