【问题标题】:Redirect Joomla core pages via .htaccess通过 .htaccess 重定向 Joomla 核心页面
【发布时间】:2014-01-22 12:22:30
【问题描述】:

我无法通过 .htaccess 重定向 Joomla 的核心页面;例如,我需要

/component/users/?view=login

重定向到另一个页面,但服务器似乎完全忽略了重定向。我在这里缺少什么吗?目前,我正在尝试使用:

Redirect /component/users/?view=login http://www.example.com/

【问题讨论】:

    标签: .htaccess redirect joomla


    【解决方案1】:

    您无法匹配Redirect 中的查询字符串,您需要使用%{QUERY_STRING} 变量和mod_rewrite。在文档根目录的 htaccess 文件中可能已有的任何其他规则之上,添加:

    RewriteEngine On
    RewriteCond %{QUERY_STRING} (^|&)view=login(&|$)
    RewriteRule ^component/users/$ http://www.example.com/? [L,R]
    

    【讨论】:

    • 好的,我认为这是正确的方向,但到目前为止,它所做的只是将 ?view=login 附加到example.com,而不是简单地重定向到 example.com
    • @CuriouslyChris 抱歉,遗漏了?
    • 啊哈,效果很好……但现在我的兴趣被激发了——是什么让重写工作如此?如果我没看错的话,$ 代表 view=login,并且 RewriteRule 行正在用第二个字符串替换第一个字符串。但是,如果是这种情况,我的浏览器应该重定向到 example.com/?,但它会转到 example.com。这是为什么呢?
    • @CuriouslyChris 规则目标中的? 创建一个空白查询字符串。并且使用重写规则,如果我在创建自己的查询字符串时不包含QSA 标志,则不会附加现有的查询字符串(在这种情况下,现有的查询字符串是“view=login”)。正则表达式模式中的$ 字符仅表示匹配结束。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 2023-03-04
    相关资源
    最近更新 更多