将分层(嵌套)URL重定向到Flat URL

时间:2011-12-28 09:30:49

标签: apache .htaccess url url-rewriting hierarchical

这里的第一个问题:)。

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

我们现在更喜欢扁平的网址,例如example.com/page /

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

如果您可以编辑主Apache配置文件而不是使用.htaccess文件,那么使用Redirect代替RedirectMatch可能会更有效率(在.htaccess内更容易使用{ {1}}文件,因为,如果我记得,它与相对于.htaccess文件的网址相匹配,而不是...其他...当涉及Redirect时。但我可能错了。)< / p>

答案 1 :(得分:0)

您可以在$ DOCUMENT_ROOT:

下的.htaccess中试用此代码
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteOptions MaxRedirects=5

RewriteRule ^folder(/page/.*)$ $1 [NC,L,R=301]