您可以尝试进行重定向,但您必须仔细制作用于匹配的正则表达式/newyork/item/iphone
。然后,您可以将newyork
部分分组并设置 cookie 并使用CO
标志重定向浏览器。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?([^/]+)/item/([^/]+)$ /item/$2 [L,R,CO=location:$1:example.com:/]
这将接受一个请求http://www.example.com/pittsburgh/item/iphone
并提取pittsburgh
部分,将其存储在一个名为location
(域=example.com 和路径=/)的 cookie 中,然后重定向浏览器,以便浏览器存储 cookie 并使浏览器转到http://www.example.com/item/iphone
有关语法的详细信息,请参阅标志的文档:CO
[CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly]
快速提问。没有 mod_rewrite 规则的实际链接是www.example.com/item.php/itemid=phone
. 是否可以将此链接重写为www.example.com/newyork/item.php/itemid=phone
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?([^/]+)/item.php/itemid=(.+)$ /item.php/itemid=$2 [L,R,CO=location:$1:example.com:/]