[英]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.