我有一个htaccess代码,它将所有请求从/ forum1 / product重定向到/ product。/forum1/product/.htaccess中的代码如下:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^(.*)$ /product/$1 [PT,L] </IfModule>
该代码非常适合“ / forum1 / product /”,“ / forum2 / product /”,“ forum3 / product /”等...,因此我的所有论坛都使用相同的产品代码(我也使用了$ _SERVER产品代码中的['HTTP_REFERER'],以便产品针对每个论坛做出不同的响应)。
2。
我有一个新版本的产品,我还不想发布。因此,我尝试设置cookie“版本”,并根据其版本,应通过参考以下内容将其重定向到相应的product_ <version number>文件夹:
如何根据cookie值进行htaccess重定向RewriteCond %{HTTP_COOKIE} ^version=([0-9]*)$ [NC] RewriteRule .* http://localhost/product_%1/ [R=301,L] RewriteRule .* http://local-host/product/ [R=301,L]
1和2分别可以正常工作。我想合并这两个条件。
因此,如果cookie“版本”设置为2,则/ forum / product重定向到/ product_2,但仍显示URL / forum / product,但它将使用/ product_2
文件夹结构如下:
/forum1/product/.htaccess
/forum2/product/.htaccess
/forum3/product/.htaccess
/product/version.txt
/product_1/version.txt
/product_2/version.txt
我认为以下代码应该工作:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_COOKIE} ^version=([0-9]*)$ [NC]
RewriteRule ^(.*)$ /product_%1/$1 [PT,L]
RewriteRule ^(.*)$ /product/$1 [PT,L]
得到了解决方案:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_COOKIE} ^version=([0-9]*)$ [NC]
RewriteRule ^(.*)$ /product_%1/$1 [PT,L]
RewriteRule ^(.*)$ /product/$1 [PT,L]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句