Apache htaccess:如何重定向并使用mod_重写
我有一页 domain.com/project/all/ 我想重定向到的 domain.com/tasks/all/ 但是在这个重定向之后,我需要它应用mod_重写来控制一些分页查询字符串元素 So domain.com/tasks/all/1/etc 我有这个Apache htaccess:如何重定向并使用mod_重写,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,我有一页 domain.com/project/all/ 我想重定向到的 domain.com/tasks/all/ 但是在这个重定向之后,我需要它应用mod_重写来控制一些分页查询字符串元素 So domain.com/tasks/all/1/etc 我有这个 RewriteRule ^projects/all(.*)$ /tasks/all$1 [R=301,NC] RewriteRule ^tasks/all([/]*)([0-9]*)([/]*)$ /project-results.p
RewriteRule ^projects/all(.*)$ /tasks/all$1 [R=301,NC]
RewriteRule ^tasks/all([/]*)([0-9]*)([/]*)$ /project-results.php?page=$2 [L]
但这似乎不起作用,因为我希望它可以明显地将用户重定向到任务,然后应用第二条规则
知道我做错了什么吗?您需要在第一条规则中添加一个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被更改了,所以它再次被更改,但是第一条规则已经将其标记为外部重定向。因此,您会被重定向到第二条规则的目标。提供一些示例,说明如何将/tasks/all/1/内部路由到/project-results.php?