我的htaccess中有以下规则,我需要修改它以将变量添加到重写的url的末尾。基本上我有两个指向同一主机的域,我根据它使用的域显示不同的站点。
RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me
RewriteCond %{REQUEST_URI} !^/rrr
Rewriterule ^(.*)$ /rrr/$1 [L]
如果有人前往rrr.me
或www.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]
答案 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]