我有一个htaccess代码,可以重定向来自的所有请求 / forum1 / product to / 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_&lt;版本号&gt;文件夹 参考:
How to do htaccess redirect based on cookie valueRewriteCond %{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“version”设置为2,那么/ forum / product会重定向到/ product_2,但仍显示URL /论坛/产品,但它将使用/ 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]
答案 0 :(得分:1)
得到解决方案:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_COOKIE} ^version=([0-9]*)$ [NC]
RewriteRule ^(.*)$ /product_%1/$1 [PT,L]
RewriteRule ^(.*)$ /product/$1 [PT,L]
答案 1 :(得分:0)
您可以使用:
RewriteEngine On
RewriteCond %{HTTP_COOKIE} version=([0-9]+) [NC]
RewriteRule ^ /product_%1/ [L]
RewriteRule ^(.+)$ /product/$1 [L]