0

我正在帮助客户将他们的博客从单独的 Wordpress 安装转移到他们新的(而且非常大!)网站的整体表达式引擎安装的一部分。

博客的旧 url 结构是www.site.com/blog/yyyy/mm/foo-bar-title

新的 URL 结构将是www.site.com/blog/article/foo-bar-title

.htaccess 文件到目前为止还没有那么复杂,本质上是这样的:

<IfModule mod_rewrite.c>
RewriteEngine On

# Removes index.php from ExpressionEngine URLs
RewriteCond $1 !\.(gif|jpe?g|png|xml)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

并尽我所能尝试我似乎无法找到一种重写方法,该方法可以使用 301 重定向重写 URL 而不会导致无限循环。

到目前为止,我有RewriteRule ^(.*)\[0-9]+/[0-9]+/?$ /blog/article/ [R=301],但这会导致无限循环。我查看了其他问题和答案,但它们似乎都只处理 Wordpress(当您搜索 wordpress 时),虽然严格来说这根本不涉及 wordpress,只涉及表达式引擎。

非常感谢所有帮助!

4

1 回答 1

0

您可能会发现在修补此功能时打开 Apache Server 的重写日志会很有帮助。

我想你正在寻找这样的东西:

重写规则 ^index.php/blog/[0-9]+/[0-9]+/(.*)$ /blog/article/$1 [R=301]

于 2013-08-16T22:04:08.760 回答