6

我对整个 .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

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

4

3 回答 3

8

您可以添加一个 RewriteRule 来消除尾部斜杠:

RewriteRule ^(.*)/$ $1 [R=301,L]
于 2013-02-26T04:41:51.290 回答
2

该问题不是由 .htaccess 引起的,而是由 wordpress 永久链接和 .htaccess 的组合引起的。

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

    /%category%/%postname%
    
  2. 然后将其添加到您的 .htaccess 文件中,在

    RedirectMatch 301 ^(.*)/$ /$1
    

这比使用重写要好,因为它是重定向而不是重写。

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

于 2013-02-26T12:30:55.177 回答
0

这对我有用;从所有路由中删除所有尾部斜杠,同时强调 REQUEST_URI 以斜杠开头(至少在 .htaccess 文件中):

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

只是不要使用 %{REQUEST_URI} (.*)/$. 因为在根目录中,REQUEST_URI 等于 /,前导斜杠,它会被误解为尾部斜杠。

来源: https ://stackoverflow.com/a/27264788/2732184

于 2016-11-24T07:03:12.373 回答