Mod_rewrite问号未出现在输出 URL 中


Mod_rewrite question mark not appearing in output url

我正在尝试设置一个简单的mod_rewrite来重定向一些打开的购物车链接,这些链接在导入完成后会损坏。从本质上讲,信息页面的漂亮网址不会转到它们应该去的地方,所以我计划使用 .htaccess 覆盖它们

无论如何,我有一个这样的设置:

RewriteEngine On
RewriteBase /myshop.co.uk/
RewriteRule ^about-us/why-shop/?$  index.php?route=informationin/formation&information_id=7  [L]

因此,据我了解以下内容

www.myshop.co.uk/about-us/why-shop

将显示页面内容

index.php?route=information/information&information_id=7

但是当我测试这个时,它只返回

www.myshop.co.uk/index.php
之后

的所有内容(包括 ?)似乎都被忽略了,首先我以为我必须逃避它,但在阅读了各种帖子之后,我似乎不需要这样做。

另外,当我在这里时,是否可以指定包含子目录的重写库?例如

RewriteBase /development/myshop/

之后的所有内容(包括 ? 似乎都被忽略了,

不,这是正确的,它正在根据您的规则附加完整的URL。唯一的问题是,由于您没有使用R标志,因此此重定向正在静默发生。

如果您在规则中添加R标志,则会注意到浏览器中显示了完整的 URL:

RewriteRule ^about-us/why-shop/?$  index.php?route=informationin/formation&information_id=7  [L,R]

参考:阿帕奇mod_rewrite简介