.htaccess重定向仅适用于部分URL

时间:2014-09-03 13:56:54

标签: regex apache .htaccess mod-rewrite redirect

我试图将一堆网址从旧网站重定向到闪亮的重新启动网站。我的.htaccess正在使用第一级目录(例如example.com/directory重定向到example.com/newdirectory),但我在其下面重定向时遇到问题。以下是一个不起作用的例子:

Redirect 301 /Expertise/QuantitativeResearch/ /services/quantitative-research/

这是example.com/services/QuantitativeResearch - 因此正在重定向Expertise目录,但URL的QuantitativeResearch部分不是。

我尝试将其更改为RedirectMatch301,但它没有任何帮助。我想知道我是否需要剥离/专业知识/并使用一些正则表达式代替? / Expertise / part已经被另一行重定向到/ services /:

Redirect 301 /Expertise/ /services/

这会引起冲突吗?我知道我可能在这里遗漏了一些非常基本的东西!为了澄清一下,我的重定向都是在RewriteEngine On之前和之后。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您需要在此处使用基于正则表达式的匹配。请尝试RedirectMatch

RedirectMatch 301 ^/Expertise/QuantitativeResearch/?$ /services/quantitative-research/

RedirectMatch 301 ^/Expertise/(.*)$ /services/$1