【发布时间】:2017-09-15 07:19:04
【问题描述】:
我需要使用 URI 中的特定关键字重定向每个请求,只需将单个关键字替换为另一个关键字,并将其余关键字保留在 Apache 网络服务器上。
但这种行为有一个例外: 如果除了第一个关键字之外,另一个关键字是 URI 的一部分,则应该不使用此重定向。
例子:
https://www.domain.tld/projects/myFirstProject
应该被重定向到
https://www.domain.tld/references/myFirstProject
但如果关键字“projects”出现在“category”的子目录中,则不应重定向请求:
https://www.domain.tld/category/projects
这是我为 RewriteMatch 得到的,它适用于重定向,但无法处理“类别”的异常:
RedirectMatch 301 /projects(.*) /references$1
注意:URI 中除被替换关键字外的部分不应更改!
如何添加正确的 RewriteCond?我是否必须使用 RewriteCond、RewriteRule 解决方案重写 RedirectMatch?这个解决方案会是什么样子?
谢谢!
【问题讨论】:
标签: apache .htaccess redirect mod-rewrite