簡體   English   中英

如何重定向網址,例如mysite.com/? 到mysite.com(沒有'?')django或nginx?

[英]How to redirect urls like mysite.com/? to mysite.com (no '?') django or nginx?

我遇到以下問題:我在nginx下使用Django。 從一段時間以來,我開始從事SEO。 所以現在我需要重定向網址

site.com/? 前往site.com/

要么

site.com/some_page/? 到site.com/some_page/

因此,問題出在'?'。如果'?'之后有其他內容,我可以重定向 但是如果只是“?” - 我不知道該怎么辦..

我試圖讀取元數據“ REQUEST_URI”,但它為空,而GET為空,但這很正常。 也許我可以在Nginx中對此進行一些修改,但是我不確定這是正確的選擇。

有什么技巧可以幫助您嗎? 在此先感謝..對不起,我的英語)

UPD:

在nginx中嘗試了以下操作:

    if ($request_uri ~ "[?]$") {
        rewrite ^/(.*)$ http://$host/$1? permanent;
    }

如果網址像

“ site.com/something?”

但是當它是“ site.com/something?city=4&myid=10?”時 它重定向到“ site.com/something”

因此所有正常參數(“ city,myid”)都會丟失。 這對我不利,因為我需要保存它們。 仍然需要幫助。.用nginx似乎對我來說也不是那么容易。

我將使用nginx,您無需啟動python進程即可進行重定向,而在nginx中重定向非常容易,只需查看相關問題即可。

我真的沒有收到你的問題。 您是否只想重定向包含或以“?”結尾的URL。 如果您想重定向所有URL,只需使用:

rewrite ^/(.*)$ http://$host/$1 permanent;

注意“?” 在重寫目標的末尾,停止將GET參數添加到重定向請求中。 參見http://wiki.nginx.org/HttpRewriteModule#rewrite

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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