HTaccess中的301重定向不适用于分层URL - PHP


301 redirect in htaccess not working for hierarchic urls - php

我正在将我网站的某些页面重定向到某个页面,它适用于简单的网址,但不适用于分层网址。例如,在我的htaccess文件中,我的以下代码:

Redirect 301 /Search-Engine-Marketing/ www.mysite.com/search-engine-marketing

工作得很好,但是当我执行以下操作时:

Redirect 301 /Search-Engine-Marketing/SEO/ www.mysite.com/search-engine-marketing

那么这段代码根本不起作用。它在屏幕上显示以下错误 -

未找到

在此服务器上找不到请求的 URL/search-engine-marketingSEO/。

所以请告诉我重定向此类 url 的正确代码语法是什么?

最好使用

RedirectMatch 进行精确匹配(使用正则表达式):

RedirectMatch 301 ^/Search-Engine-Marketing/?$ /search-engine-marketing
RedirectMatch 301 ^/Search-Engine-Marketing/SEO/.*$ /search-engine-marketing

或者重定向Search-Engine-Marketing使用下的所有内容:

RedirectMatch 301 ^/Search-Engine-Marketing/.*$ /search-engine-marketing