繁体   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