0

我的 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 在评论中的建议,新的重写规则。

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]
4

1 回答 1

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]
于 2013-03-25T16:50:34.930 回答