我正在帮助客户将他们的博客从单独的 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,只涉及表达式引擎。
非常感谢所有帮助!