Django从其他域名重定向时出现 "找不到页面 "的错误。

问题描述 投票:0回答:0

当点击指向我的Django网站的url时,我得到一个Page Not Found的错误。当我在DEBUG=True的情况下查看错误信息时,发现错误信息中显示的 "当前路径 "与实际的url不同。

例如,看看linkedin上的分享文章。https:/www.linkedin.comcompanyhuvepharma-nv. 当点击第一个帖子时,我被重定向到我的Django网站。https:/huvepharma.comnewsarticle how-butyrate-producing-bacteria-can-support-food-safety.. 这给了我一个Page Not Found错误,说当前路径是 公司HUVEPHARMA-NV,这是LinkedIn网站上的路径。

enter image description here

如何解决这个问题?

我在过去添加了以下的修复,但现在我得到了ERR_TOO_MANY_REDIRECTS和DEBUG=False。所以快修也不行了。

def handler404(request, exception, template_name='errorhandlers/handler404.html', *args, **kwargs):
    if request.META.get('HTTP_SEC_FETCH_SITE') == 'cross-site':
        return redirect(request.path)

    response = render_to_response(template_name)
    response.status_code = 404
    return response

Apache2配置。

80端口。

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName huvepharma.com
        ServerAlias www.huvepharma.com

        ErrorLog "||/usr/bin/rotatelogs /home/ubuntu/websites/huvepharma/logs/error/error-%Y-%m-%d.log 86400"
        CustomLog "||/usr/bin/rotatelogs /home/ubuntu/websites/huvepharma/logs/access/access-%Y-%m-%d.log 86400" combined

        Alias /static /home/ubuntu/websites/huvepharma/static
        <Directory /home/ubuntu/websites/huvepharma/static>
                Require all granted
        </Directory>

        Alias /media /home/ubuntu/websites/huvepharma/media
        <Directory /home/ubuntu/websites/huvepharma/media>
                Require all granted
        </Directory>

        #WSGIDaemonProcess huvepharma.com python-home=/home/ubuntu/websites/huvepharma/venv python-path=/home/ubuntu/websites/huvepharma
        #WSGIProcessGroup huvepharma.com
        #WSGIScriptAlias / /home/ubuntu/websites/huvepharma/huvepharma/wsgi.py process-group=huvepharma.com

        <Directory /home/ubuntu/websites/huvepharma/huvepharma>
                <Files wsgi.py>
                        Require all granted
                </Files>
        </Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =huvepharma.com [OR]
RewriteCond %{SERVER_NAME} =www.huvepharma.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>


# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

443端口。

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName huvepharma.com
        ServerAlias www.huvepharma.com

        ErrorLog "||/usr/bin/rotatelogs /home/ubuntu/websites/huvepharma/logs/error/error-%Y-%m-%d.log 86400"
        CustomLog "||/usr/bin/rotatelogs /home/ubuntu/websites/huvepharma/logs/access/access-%Y-%m-%d.log 86400" combined

        Alias /static /home/ubuntu/websites/huvepharma/static
        <Directory /home/ubuntu/websites/huvepharma/static>
                Require all granted
        </Directory>

        Alias /media /home/ubuntu/websites/huvepharma/media
        <Directory /home/ubuntu/websites/huvepharma/media>
                Require all granted
        </Directory>

        WSGIDaemonProcess huvepharma.com python-home=/home/ubuntu/websites/huvepharma/venv python-path=/home/ubuntu/websites/huvepharma
        WSGIProcessGroup huvepharma.com
        WSGIScriptAlias / /home/ubuntu/websites/huvepharma/huvepharma/wsgi.py process-group=huvepharma.com

        <Directory /home/ubuntu/websites/huvepharma/huvepharma>
                <Files wsgi.py>
                        Require all granted
                </Files>
        </Directory>
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/huvepharma.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/huvepharma.com/privkey.pem
</VirtualHost>
</IfModule>
python django linkedin referrer
© www.soinside.com 2019 - 2024. All rights reserved.