在WordPress中使用.htaccess删除尾部斜杠

时间:2011-12-19 07:20:25

标签: wordpress .htaccess mod-rewrite trailing-slash

我正在寻找一种方法来删除所有WordPress网址的尾部斜杠。

我找到了类似this one的类似答案,但在之前有WordPress .htaccess规则时它不起作用。

这是我目前的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 个答案:

答案 0 :(得分:17)

可能就像去设置&gt;一样简单wp admin中的永久链接,并在自定义结构的输入框中删除尾部斜杠

答案 1 :(得分:7)

试试这个:

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]

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

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

如果不起作用,试试这个:

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]

    RewriteRule (.+)/$ http://www.domain.com/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

答案 2 :(得分:2)

以下是在网站范围内删除斜杠的步骤。如果您只希望仅删除帖子上的斜杠,请跳至步骤2

要考虑的重要事项

  • .htaccess中,行# BEGIN WordPress# END WordPress may get reset by WordPress之间的代码。避免在这些行之间更改代码。
  • 强行删除结尾的斜杠,将导致loop in example.com/wp-admin。您可以通过排除目录RewriteCond %{REQUEST_FILENAME} !-d来避免此问题。

以下解决方案可以解决这些问题。

步骤1-更新/.htaccess文件

在/.htaccess文件的# BEGIN WordPress行之前添加以下代码。这样会将带有斜杠的URL重定向到没有斜杠的URL。

# Remove trailing slashes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

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

</IfModule>

步骤2-更新固定链接

正如其他人指出的那样,您还必须将“永久链接”(“设置”->“永久链接”)更新为“自定义结构”,并在其中删除尾随斜杠。它会删除所有帖子上的尾部斜杠。 enter image description here

答案 3 :(得分:0)

要解决WordPress URL中的尾部斜杠问题,请登录到您的网站管理面板->转到“设置”标签->单击“设置”下的“永久链接”。它将打开一个类似于以下屏幕的页面:

现在,检查以确认您为网站URL结构选择的设置。确保您在URL结构中没有留下斜杠。 https://blog.techblogsearch.com/2018/11/29/guide-to-remove-trailing-slash-from-wordpress-url