我正在将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错误。没关系。
BUT:
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