.htaccess 删除站点中所有URL的尾部斜杠

.htaccess 删除站点中所有URL的尾部斜杠,.htaccess,trailing-slash,.htaccess,Trailing Slash,我对.htaccess这个东西有点陌生,我一直在尝试修改它,这样我的链接就不会在各自URL的末尾有斜杠了。我的网站是filmblurb.org Wordpress开始和结束的.htaccess的代码如下所示: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-

我对.htaccess这个东西有点陌生,我一直在尝试修改它,这样我的链接就不会在各自URL的末尾有斜杠了。我的网站是filmblurb.org

Wordpress开始和结束的.htaccess的代码如下所示:

# 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
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress

如果有人能引导我朝着正确的方向解决这个问题,我将不胜感激。谢谢。

您可以添加一个重写规则以消除尾部斜杠:

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

该问题不是由.htaccess引起的,而是由wordpress permalinks和.htaccess的组合引起的

  • 登录到您的站点并导航到永久链接,然后如果您没有使用“自定义结构”选项,请切换到该选项,并确保末尾没有斜杠:

    /%category%/%postname%
    
  • 然后将其添加到.htaccess文件中,位于
    RedirectMatch 301 ^(.*)/$ /$1
    
  • 这比使用重写要好,因为它是重定向而不是重写


    如果这仍然不起作用,那么我建议您安装yoast seo插件,并且其中有一个设置可以做到这一点。

    这对我来说很有效;从所有路由中删除所有尾部斜杠,同时强调请求URI以斜杠开头(至少在.htaccess文件中):

    只是不要使用
    %{REQUEST\u URI}(.*)/$
    。因为在根目录请求中,URI等于/,前面的斜杠,它会被误解为后面的斜杠

    来源:

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} /(.*)/$
    RewriteRule ^ /%1 [R=301,L]