【问题标题】:.htaccess Rewrite to Force Trailing Slash.htaccess 重写以强制尾部斜杠
【发布时间】:2016-08-06 17:33:32
【问题描述】:

我想将非斜杠重定向到末尾的斜杠,我的 wordpress 在子字典http://domain.com/blog/

我有两个.htaccess 文件,一个在根目录,一个在wordpress 文件夹中。

我将该代码放在根 .htaccess 中,但没有成功

RewriteEngine On     
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://domain.com/blog/$1/ [L,R=301]

Wordpress 对带有和不带有斜杠的两个版本给出 200 OK,这会伤害我的 SEO

提前致谢

【问题讨论】:

  • Stack Overflow 不是免费的代码编写服务,请展示您的代码/努力以及实际问题所在。
  • 请查看更新后的帖子

标签: php wordpress apache .htaccess mod-rewrite


【解决方案1】:

你很接近但需要删除一个RewriteCond并稍微修改RewriteRule

RewriteEngine On     
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

您也可以考虑添加类似RewriteCond %{REQUEST_FILENAME} !-d 的内容。否则,您可能会阻止默认目录索引行为。

祝你好运。

【讨论】:

  • 我编辑了这个以从重写规则中删除 /blog。由于RewriteBase 语句,它将被添加到重写目的地
猜你喜欢
  • 2011-12-08
  • 2012-07-15
  • 2016-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 2016-10-29
  • 1970-01-01
相关资源
最近更新 更多