最后只用1个斜线

时间:2019-07-12 17:32:44

标签: .htaccess mod-rewrite url-rewriting

我希望在wordpress上仅在某些帖子或页面网址的末尾加一个斜杠。

当不缓存WP页面时,我处于管理员身份,没事。

情况如下:

  1. somewww.com/somepage
  2. somewww.com/somepage //
  3. somewww.com/somepage ///

所有人都被迫进入somewww.com/somepage/,其中只有一个斜杠。

但是,如果我们使用的是网页的缓存版本,则打开的网址不会在结尾处强制加1。

因此,我在WP火箭网站上找到了第二个代码:

# Force trailing slash
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpg|png|jpeg|css|xml|txt|js|php|scss|webp|mp3|avi|wav|mp4|mov)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1/ [L,R=301]

在htaccess中,我一开始就编写了代码。

因此,目前仅在第1种情况下运作良好,其他失败了。

谁可以帮助我在Wordpress上重写页面网址? 谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用以下规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{REQUEST_URI} !/$ [OR]
RewriteCond %{THE_REQUEST} \s[^?]*/{2,}[\s?]
RewriteRule ^(.*?)/?$ https://%{HTTP_HOST}/$1/ [L,R=301,NE]

在测试此规则之前,请确保清除浏览器缓存。