htaccess对于具有更多斜杠的子URL无法正常工作

时间:2016-12-16 11:21:52

标签: .htaccess octobercms

我有2个网站。称之为 5p_front http://localhost/5p_front/)(在 OctoberCMS 中开发)和 5p_group http://localhost/5p_group/)(在 CakePHP的)

5p_front 中,我有一个 .htaccess 文件,我在其中发布了一个条件,该条件会在找到后立即重定向到 5p_group 网站在网址中包含 5p_group_login 的单词。这是下面的代码

的.htaccess

RewriteRule ^5p_group_login.*$ http://localhost/5p_group [L,R=301]

因此,如果有人试图以http://localhost/5p_front/5p_group_login为例,他们只会被重定向到http://localhost/5p_group/

这可以在主页和其他子页面(例如页面http://localhost/5p_front/we-are-5p-group)中正常工作。

但是我有一个产品内页http://localhost/5p_front/product/10如果我将菜单项转移到允许我重定向到登录页面,它会显示此网址http://localhost/5p_front/product/5p_group_login,因此当我点击它时,我我无法在http://localhost/5p_group/重定向,因为它只会重新定向到当前网址http://localhost/5p_front/product/5p_group_login,但情况并非如此。

此外,我的菜单动态发布,我使用Static Pages插件创建了 OctoberCMS 提供的菜单,并创建了“登录”菜单链接,如下所示。

enter image description here

即使用户位于http://localhost/5p_group/,我如何重定向http://localhost/5p_front/product/10的网址,并点击“登录”链接,如果鼠标悬停在该链接上,则会显示http://localhost/5p_front/product/5p_group_login

有人可以在这里指导我在这种情况下该怎么做。

由于

1 个答案:

答案 0 :(得分:1)

你的规则

RewriteRule ^5p_group_login.*$ http://localhost/5p_group [L,R=301]
放置在5p_front/.htaccess

仅会影响以/5p_front/5p_group_login开头的URI(因为您的模式中的前导^),因此/5p_front/product/5p_group_login将不匹配。

如果您想重写具有5p_group_login anyhwere的网址,请使用:

RewriteRule 5p_group_login http://localhost/5p_group [L,R=301]