我正在将 ColdFusion 网站转换为 WordPress。这都是静态内容,所以这不是问题。
我正在尝试为搜索引擎设置 301 重定向(目前在测试期间为 302)以重新映射页面。我创建了以下内容,它可以工作 90%。
问题是,如果我对部分匹配另一个页面的文件名进行重定向,那么它会找到并重定向到部分匹配。
例如:
http://www.example.com/a/b/c/this-doesnt-exist.cfm
正确重定向到:
http://www.example.com/a/b/c/this-doesnt-exist/
出现 404 错误。没关系。
但:
http://www.example.com/blah/blah/asdf/r23af/b.cfm
重定向到:
http://www.example.com/blog/
基本上,它是剥离.cfm
文件名并进行部分匹配b
我怎样才能避免部分匹配 - 这会产生不可预测的重定向(例如,我们有 50 个目录,它们都有一个index.cfm
文件,它们应该只转到正确文件夹中的正确页面,而不是一个公共/index/
文件)
# BEGIN Wordpress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} \.(cfm)$
RewriteRule ^(.+)\.cfm$ /$1/ [R=302,NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END Wordpress