簡體   English   中英

.htaccess中的強制尾部斜杠?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM