2017-07-27 71 views
0

Mojolicious不區分這兩個請求:如何處理網站上的相關鏈接?

GET /page 
GET /page/ 

在同一個頁面的呈現方式。

但是當呈現的頁面有相對鏈接時,您可能會陷入下一個陷阱。

例如,如果您有page

<a href="trap">Trap</a> 

你點擊它,你會去/trap頁第一次請求。
但是當你點擊它的第二個要求,你會去/page/trap頁面。

我們應該做些什麼或保持原樣嗎?

+1

我使用網絡服務器刪除最後一個尾部的斜槓。這對seo也很有用。 – tempus71

+1

這不是一個莫名其妙的問題。沒有人會回答你,因爲你的問題不清楚。 – Logioniz

回答

0

您總是可以將尾部斜線重定向到非尾部斜槓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問題。

+0

在某些情況下,它可能會有用。但是,我喜歡通過@ tempus71 –

+0

通知web服務器,這不是@ tempus71描述的工作解決方案嗎? –

+0

我喜歡那個解決方案 –

相關問題