Mojolicious不區分這兩個請求:如何處理網站上的相關鏈接?
GET /page
GET /page/
在同一個頁面的呈現方式。
但是當呈現的頁面有相對鏈接時,您可能會陷入下一個陷阱。
例如,如果您有page
:
<a href="trap">Trap</a>
你點擊它,你會去/trap
頁第一次請求。
但是當你點擊它的第二個要求,你會去/page/trap
頁面。
我們應該做些什麼或保持原樣嗎?
Mojolicious不區分這兩個請求:如何處理網站上的相關鏈接?
GET /page
GET /page/
在同一個頁面的呈現方式。
但是當呈現的頁面有相對鏈接時,您可能會陷入下一個陷阱。
例如,如果您有page
:
<a href="trap">Trap</a>
你點擊它,你會去/trap
頁第一次請求。
但是當你點擊它的第二個要求,你會去/page/trap
頁面。
我們應該做些什麼或保持原樣嗎?
您總是可以將尾部斜線重定向到非尾部斜槓URL。我不知道什麼是100%最佳解決方案,但類似
$self->redirect_to(
$self->url_with->path($self->url_for->path->trailing_slash(0)))
and return
if $self->req->url->path->trailing_slash;
可以使工作。
這種方式/頁面/是302重定向到/頁面和/頁面顯示鏈接,所以它將始終保持一致。
我同意@Logioniz,雖然這不是一個Mojolicious問題。
在某些情況下,它可能會有用。但是,我喜歡通過@ tempus71 –
通知web服務器,這不是@ tempus71描述的工作解決方案嗎? –
我喜歡那個解決方案 –
我使用網絡服務器刪除最後一個尾部的斜槓。這對seo也很有用。 – tempus71
這不是一個莫名其妙的問題。沒有人會回答你,因爲你的問題不清楚。 – Logioniz