【问题标题】:Mod_Rewrite for htaccess用于 htaccess 的 Mod_Rewrite
【发布时间】:2012-06-13 01:01:25
【问题描述】:

Joomla 1.5 的 URL 结构在 2.5 版中发生了变化。

之前:

http://example.com/index.php?option=com_content&task=view&id=587&Itemid=73

现在是:

http://example.com/index.php?option=com_content&view=article&id=587&Itemid=114

*注意 id 和 itemid 编号会根据页面而变化,虽然所有页面都有一个 id,但并非所有页面都在 url 中有 Itemid。

虽然我们更新了数据库中的所有链接,但很多人仍然拥有旧的链接结构,所以我们想要编辑 htaccess 文件,这样如果有人进入旧的结构,它将转发到正确的结构。

只需将在 example.com 中输入的任何带有 task=view 的 URL 替换为 view=article。

有谁知道在 htaccess 中执行此操作的简单方法,可能是替换查询字符串方法和 301 重定向?

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    您可以使用 mod_rewrite 的 RewriteCond%{QUERY_STRING} 变量来匹配查询字符串。然后在 RewriteRule

    中使用 % 反向引用

    试试这样的:

    RewriteCond %{QUERY_STRING} ^(.*)&task=view&(.*)$ [NC]
    RewriteRule ^(.*)$ /$1?%1&view=article&%2 [R=301,L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-08
      • 2017-10-30
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      • 2012-07-13
      相关资源
      最近更新 更多