Mod_rewrite问号未出现在输出URL中

时间:2013-10-02 09:22:35

标签: php apache .htaccess mod-rewrite

我正在尝试设置一个简单的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?例如

RewriteBase /development/myshop/

1 个答案:

答案 0 :(得分:1)

  

一切都包括在内?似乎被忽略了,

不,这是正确的,它会根据您的规则附加完整的URL。唯一的问题是,由于你没有使用R标志,这种重定向正在无声地发生。

如果您在规则中添加了R标记,那么您会注意到浏览器中显示的是完整的网址:

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

参考:Apache mod_rewrite Introduction