1

这里的第一个问题:)。

我们当前运行的站点使用分层(嵌套)URL,例如 example.com/folder/page/

我们现在更喜欢平面 URL,例如 example.com/page/

我们的 CMS 可以轻松地允许切换到被赋予平面 URL 的页面。但是,它不处理来自旧分层 URL 的重定向。看起来它需要在 .htaccess 文件中处理。

有 250 多个页面,因此最好使用可以处理所有重定向的代码,而不是为每个 URL 执行 301 重定向。

任何人都可以提供一些 .htaccess 代码或指向正确的方向来实现重定向吗?

4

2 回答 2

0

您可以在 $DOCUMENT_ROOT 下的 .htaccess 中尝试此代码:

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteOptions MaxRedirects=5

RewriteRule ^folder(/page/.*)$ $1 [NC,L,R=301]
于 2011-12-28T10:29:25.890 回答
0

这可能不是世界上最有效的事情,但我在我的博客上使用.htaccess包含以下内容的大文件执行此操作:

RedirectMatch permanent ^/old/url http://example.com/new-url

如果您可以编辑主 Apache 配置文件而不是使用文件,那么使用Redirect而不是使用 Redirect.htaccess可能会更有效(这更容易使用内部文件,因为如果我记得,它与相对于文件的 URL 匹配,而不是……其他的……什么时候涉及。但我可能错了。)RedirectMatch.htaccess.htaccessRedirect

于 2011-12-28T09:40:21.517 回答