我的htaccess如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^moreinfo/(.*)$ http://www.kgstiles.com/moreinfo$1 [R=301]
RewriteRule ^healthsolutions/(.*)$ http://www.kgstiles.com/healthsolutions$1 [R=301]
RewriteRule ^(.*)\.html$ $1/ [R=301]
RewriteRule ^(.*)\.htm$ $1/ [R=301]
</IfModule>
我现在使用的是wordpress而不是直接的html编码。上面的重写文件用于转发根目录和/ moreinfo /和/ healthsolutions /目录中的所有旧.html和.htm页面。不幸的是,他们还从wordpress页面中删除了.htm和.html(我认为它们最初都以php结尾)。现在我看到一些基本功能,比如在.html的wordpress end的可视化编辑器中打开图像编辑器(使用它们会产生404错误)。
所以问题是:有没有办法将我的重写限制在某些目录中,所以Wordpress函数不受阻碍?
感谢任何帮助!
答案 0 :(得分:1)
您需要添加重写条件,例如:
RewriteCond $1 !^(dontrewrite\.php)
您可以在其中添加RegEx表达式以省略某些目录/文件夹/文件类型。
答案 1 :(得分:1)
您可以尝试这样的事情:
RewriteEngine On
# assuming wordpress is installed in blog directory
RewriteRule ^blog(/.*|)$ - [L] # don't take any action
RewriteRule ^moreinfo/(.*)$ http://www.kgstiles.com/moreinfo$1 [R=301,L]
RewriteRule ^healthsolutions/(.*)$ http://www.kgstiles.com/healthsolutions$1 [R=301,L]
RewriteRule ^(.*)\.html$ $1/ [R=301,L]
RewriteRule ^(.*)\.htm$ $1/ [R=301,L]