使用Apache
的{{1}}文件,我正在尝试htaccess
网址rewrite
到http://example.com/page.php?v1=abc&v2=def
。
到目前为止,我有:
http://example.com/abc/def
但这似乎只是提供了实际文件Options +FollowSymLinks
RewriteEngine on
RewriteRule case-study/(.*)/(.*)/(.*)/(.*)/$ /case-study.php?$1=$2&$3=$4
,其URL保持不变。
有谁知道这样做的正确方法是什么,或者上面可能出现什么问题?
答案 0 :(得分:3)
你倒退了。你要改写的是第一个,然后你要改变它到最后。以下可能不准确,但应该接近您的需要:
RewriteCond {%QUERY_STRING} ^v1=(.*)&
RewriteCond {%QUERY_STRING} v2=(.*)$
RewriteRule case-study.php /case-study/%1/%2/
以下是RewriteRule文档以获取更多详细信息:mod_rewrite
请注意,在规则和替换上使用前导斜杠取决于您使用它的上下文(请参阅链接文档)。在上面的示例中,%1和%2引用第一个和第二个RewriteCond中的捕获组。这是一个描述该方法的页面:mod_rewrite based on query string parameters