Wordpress 将*.html重定向到非扩展路径的301重定向匹配或重写规则

Wordpress 将*.html重定向到非扩展路径的301重定向匹配或重写规则,wordpress,.htaccess,mod-rewrite,redirect,Wordpress,.htaccess,Mod Rewrite,Redirect,我到处都找遍了,包括苏,都找不到这个问题的答案: 我想设置301重定向,以便: www.mysite.com/some-page.html 重定向到 www.mysite.com/some-page/ 我在我的htaccess文件中使用了以下内容(这是一个WordPress网站): 重新编写引擎打开 重定向匹配301(.*)\.html$$1 #开始WordPress 重新启动发动机 重写基/ 重写规则^index\.php$-[L] 重写cond%{REQUEST_FILENAME}-F

我到处都找遍了,包括苏,都找不到这个问题的答案:

我想设置301重定向,以便:

www.mysite.com/some-page.html
重定向到

www.mysite.com/some-page/
我在我的htaccess文件中使用了以下内容(这是一个WordPress网站):

重新编写引擎打开
重定向匹配301(.*)\.html$$1
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
问题
如果我访问
www.mysite.com/
,它会重定向到
www.mysite.com/index

(注意:如果我访问
www.mysite.com/some page.html
,它确实有效并重定向到
www.mysite.com/some page/


有没有关于如何使这项工作的建议?我确信我遗漏了一些明显的东西…

重定向匹配是mod_别名的一部分,
重写规则是mod_重写的一部分。这两个模块将在处理管道的不同点应用于相同的URI。这意味着您不能只是告诉apache停止它正在做的事情并重定向。不管怎样,mod_重写部分仍将被应用

要解决此问题,请坚持使用mod_rewrite:

RewriteEngine On
RewriteRule ^(.*)\.html /$1/ [L,R=301]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
重新编写引擎打开
重写规则^(.*)\.html/$1/[L,R=301]
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress

。当有人知道他们在做什么时,这看起来很容易,但我什么也没试过,完全明白了。非常感谢。
RewriteEngine On
RewriteRule ^(.*)\.html /$1/ [L,R=301]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress