【发布时间】:2011-06-24 12:38:08
【问题描述】:
我正在尝试使用 RewriteRule 将表单 x 页面重定向到 y 页面。 x 页面有两个参数 > products.php?product=$1&page=$2 (myweb.com/products.php?prod...) y 应该是 $1/$2/ (myweb.com/$1/$2/)
我试过这个>
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^products.php?product=(.*) $1/ [R=301,L]
仅用于测试,以及一些类似的代码,例如 > /$1/ 而不是 $1/,仅 $1
我尝试将 RewriteCond 与 query_string 一起使用,但没有任何效果....
ofc 继续到 htaccess >
RewriteRule ^(.*)/$ $1.php [L]
还有一些不相关的规则(我认为)
你能帮帮我吗?
谢谢。
编辑:
经过大量搜索,我找到了答案! 这就是答案:
RewriteCond %{QUERY_STRING} ^product=(.*)$
RewriteRule ^test.php$ %1/? [R=301,L]
现在解释一下:
首先,添加了匹配查询字符串的重写条件。
其次,我从重写规则和 $ = continue (查询字符串)中删除查询字符串。我还需要添加? (问号)在rewriterule的第二部分>%1/?问号表示我不想在新的url中保留查询字符串。
【问题讨论】:
-
'RewriteRule` 与 PHP 无关。你可能想删除那个“php”标签。
-
已移除,虽然我认为它与 php 有关,因为 95% 的使用 php 的人也使用 htacces (rewriterules)。
标签: .htaccess mod-rewrite redirect