【问题标题】:htaccess: how to redirect and then use mod_rewritehtaccess:如何重定向然后使用 mod_rewrite
【发布时间】:2014-10-20 14:23:13
【问题描述】:

我有一个页面

domain.com/project/all/

我想重定向到的

domain.com/tasks/all/

但是在这个重定向之后,我需要它来应用一个 mod_rewrite 来控制一些分页查询字符串元素。

所以 domain.com/tasks/all/1/ 等

我有这个

RewriteRule ^projects/all(.*)$ /tasks/all$1 [R=301,NC]

RewriteRule ^tasks/all([/]*)([0-9]*)([/]*)$ /project-results.php?page=$2 [L]

但这似乎并没有像我预期的那样工作(即明显地将用户重定向到任务,然后应用第二条规则)。

任何想法我做错了什么?

【问题讨论】:

  • 提供一些示例,说明您如何在内部将/tasks/all/1/ 路由到/project-results.php

标签: apache .htaccess mod-rewrite redirect


【解决方案1】:

您需要在第一条规则中添加L 标志:

RewriteRule ^projects/all(.*)$ /tasks/all$1 [R=301,NC,L]

RewriteRule ^tasks/all([/]*)([0-9]*)([/]*)$ /project-results.php?page=$2 [L]

否则,将应用第一条规则,将 URI 更改为 /tasks/all/...,并将请求标记为外部重定向。然后第二条规则也被应用,因为 URI 已更改,因此它再次更改,但第一条规则已将其标记为外部重定向。因此,您会被重定向到第二条规则的目标。

【讨论】:

    猜你喜欢
    • 2011-03-18
    • 2021-07-09
    • 2019-02-02
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    相关资源
    最近更新 更多