我将 wordpress 永久链接设置为 /%postname%(注意末尾没有斜杠)。
但是,wordpress 不会将任何给定的页面 URL 从带有斜杠的版本重定向到非斜杠版本。任何网站标题检查工具都会为两个版本(带有和不带有斜杠)返回一个“200”(OK)代码。我担心这会由于重复的内容而产生负面的 SEO 后果。因此,我希望每个页面只有一个版本。
我正在尝试修改位于 wordpress 目录上的 .htaccess 文件,以便它删除任何 URL 末尾的尾部斜杠,几乎重定向到 URL 的非尾部斜杠版本。
我将 Wordpress 安装在一个子目录上,而不是我网站的根目录,即
http://mywebsite.com/wordpress/
我通过阅读本网站上发布的不同问题尝试了以下代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
那么问题是我无法登录到wordpress admin。当我在 mywebsite.com/wordpress/wp-login.php 上输入我的用户名和密码时
它通常用于重定向并进入 mywebsite.com/wordpress/wp-admin/
但是现在由于我添加到 .htaccess 的代码从 /wp-admin/ 中删除了尾部斜杠,所以我收到错误并且无法登录到 Wordpress。
我一直在阅读这个论坛,然后通过玩代码尝试了以下操作,现在我可以登录到 wordpress,但现在没有从任何给定的 URL 中删除尾部斜杠。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !^/wp-admin/
RewriteCond %{REQUEST_URI} ^/wp-login\.php(.*)$
RewriteCond %{REQUEST_URI} ^/wp-admin$
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
谁能推荐我还能做什么?
除了 wordpress 登录页面 (mywebsite.com/wordpress/wp-login.php) 和 mywebsite.com/wordpress/wp 之外,如果页面 URL 在 URL 末尾没有斜杠,我几乎想要-行政/
请记住,Wordpress 安装在 mywebsite.com/wordpress/ 上,而不是根级别。
非常感谢!