我相信我经历了一个非常简单和常见的重写行为,但经过几天(是几天)与.htaccess重写规则,阅读文档,尝试生成器和测试人员等的斗争后,我仍然没有进一步重写发生。
我要重写的网址是:
http://www.mysite.com/products/adagio.php?prod=Adagio%20BankRec
到
http://www.mysite.com/bankrec
以下内容无效
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^bankrec$ /products/adagio.php?prod=Adagio%20BankRec
如果我启用编码斜杠:AllowEncodedSlashes On
它会破坏网站。此外,如果我添加[B]
标志来表示转义反向,它会破坏网站。
任何人都可以帮助我吗?重写规则让我觉得宇宙没有秩序。感谢
答案 0 :(得分:1)
您需要转义%
字符,否则mod_rewrite会尝试将其替换为%2
。请改用此规则:
RewriteRule ^bankrec/?$ /products/adagio.php?prod=Adagio\%20BankRec [L,NE]