[英]Force Trailing Slash in .htaccess?
下面的.htaccess代码正确吗? 它用于SEO。 我在Google中找到了它,但我想确定它可以使用。 它放置在.htaccess文件中,用于在非斜杠URL上强制斜杠。 另外,// 1/1 / $ 2 /部分正确吗?
#Force Trailing Slash
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.domain.com/$1/$2/ [L,R=301]
我是否还需要为非www网址包含RewriteRule(请参见下文)?
RewriteRule ^(.*)$ http://domain.com/$1/$2/ [L,R=301]
此外,是否真的需要在.htaccess的最顶部具有下面的ONCE?
RewriteEngine On
RewriteBase /
另外,如果该代码确实有效,您如何测试? 我将代码放在.htaccess文件中,但我的主页上没有显示斜杠。
编辑:后续问题:
图A
RewriteRule ^(.*)$ http://www.domain.com/$1/
“图A”重写规则是否仅对
http://www.domain.com/post-one
将“ Figure A”的RewriteRule也强制为
http://www.domain.com/category/post-one
如果没有,如何添加分组以便可以执行/ $ 1 / $ 2 /事情?
您是否建议做/ $ 1 / $ 2 /事(用于SEO)? 这样做有什么危害吗?
具体来说,/ $ 1 / $ 2 /部分正确吗?
不,您将被重定向为带有两个尾部斜杠,因为$2
不会反向引用任何内容。 $1
向后引用(.*)
但没有第二个分组。 您只需要:
RewriteRule ^(.*)$ /$1/ [L,R=301]
我是否还需要为非www网址包含RewriteRule(请参见下文)?
不, RewriteRule
指令的第二个参数是target ,因此除非您希望将人们重定向到domain.com
而不是www.domain.com
,否则无需添加任何内容。
此外,是否真的需要在.htaccess的最顶部具有下面的ONCE?
是
要进行测试,只需添加您的htaccess文件并转到不带斜杠的URL。 浏览器应该被重定向,您将在位置栏中看到相同的URL,但带有斜杠。 如果那不是您所看到的,那是其他错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.