.htaccess mod_rewrite基于域名

时间:2013-03-25 16:46:14

标签: apache .htaccess mod-rewrite

我的htaccess中有以下规则,我需要修改它以将变量添加到重写的url的末尾。基本上我有两个指向同一主机的域,我根据它使用的域显示不同的站点。

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr
Rewriterule ^(.*)$ /rrr/$1 [L]

如果有人前往rrr.mewww.rrr.me,他们会在我网站的rrr目录中获取index.php。这很棒!

我现在需要能够在index.php中添加一个变量。所以有人会输入rrr.me/abc,它会以这种方式将abc附加到index.php的末尾index.php?var1=abc

Olaf Dietsche在评论后提出的新REWRITE规则。

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr
RewriteCond %{REQUEST_URI} !/assets/
Rewriterule ^.*$ /rrr/index.php?rrr=$0 [L]

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me
RewriteCond %{REQUEST_URI} !^/rrr
Rewriterule ^assets/.*$ /rrr/$0 [L]

1 个答案:

答案 0 :(得分:1)

将请求的URL附加为查询字符串

Rewriterule ^.*$ /rrr/index.php?var1=$0 [L]

要排除assets目录,您必须使用其他RewriteCond

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me
RewriteCond %{REQUEST_URI} !^/rrr
RewriteCond %{REQUEST_URI} !/assets/
Rewriterule ^(.*)$ /rrr/$1 [L]

对于资产文件,您可以使用类似的重定向

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me
RewriteCond %{REQUEST_URI} !^/rrr
Rewriterule ^assets/.*$ /rrr/$0 [L]