Django:在使用 permanent=True 设置后停止将 URL 重定向到另一个页面
Django: Stop redirecting URL to another page after setting it with permanent=True
出于某种原因,在我的 Django 应用程序中,我使用了一个重定向路径,就像在我的 urls.py 文件中一样,这样每当有人访问 example.com 时,他们就会被重定向到示例。com/blog
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls', namespace='blog')),
path('', lambda request: redirect('blog/', permanent=True)),
]
现在我已经完全构建了我的站点并为 example.com 添加了视图。
为了访问该页面,我从我的代码库中删除了重定向路径的行,这样每当我尝试访问 example.com.
时它就不再重定向到 /blog
path('', lambda request: redirect('blog/', permanent=True))
但问题是,即使删除了上面的行,我仍然被重定向到 /blog。
即使在全新的 django 项目中,同样的问题仍然存在。
即,即使我 运行 另一个 Django 项目,我也无法访问“/”路径,它会一直被重定向到“/blog/”。
我认为这是由于与 permanent=True 相关的某些事情而发生的。
在扭转这种影响方面,我们将不胜感激。
提前致谢。
标志 permanent=True
表示当有人试图访问 index 页面时,您的网络服务器 return 是 301 - Permanent Redirect
。您可能应该避免使用它并让网络服务器 return a 302 - Temporary Redirect
.
状态301
表示资源(页面)永久移动到新位置。客户端(浏览器)不应尝试请求原始位置,而应从现在开始使用新位置。
状态302
表示资源暂时位于别处,客户端(浏览器)应该继续请求原来的URL.
尽量不要删除整行,而是像下面这样调整它
path('', views.index, name='index')
也尝试在隐身模式下测试它,或禁用缓存。
出于某种原因,在我的 Django 应用程序中,我使用了一个重定向路径,就像在我的 urls.py 文件中一样,这样每当有人访问 example.com 时,他们就会被重定向到示例。com/blog
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls', namespace='blog')),
path('', lambda request: redirect('blog/', permanent=True)),
]
现在我已经完全构建了我的站点并为 example.com 添加了视图。 为了访问该页面,我从我的代码库中删除了重定向路径的行,这样每当我尝试访问 example.com.
时它就不再重定向到 /blogpath('', lambda request: redirect('blog/', permanent=True))
但问题是,即使删除了上面的行,我仍然被重定向到 /blog。
即使在全新的 django 项目中,同样的问题仍然存在。 即,即使我 运行 另一个 Django 项目,我也无法访问“/”路径,它会一直被重定向到“/blog/”。 我认为这是由于与 permanent=True 相关的某些事情而发生的。 在扭转这种影响方面,我们将不胜感激。
提前致谢。
标志 permanent=True
表示当有人试图访问 index 页面时,您的网络服务器 return 是 301 - Permanent Redirect
。您可能应该避免使用它并让网络服务器 return a 302 - Temporary Redirect
.
状态301
表示资源(页面)永久移动到新位置。客户端(浏览器)不应尝试请求原始位置,而应从现在开始使用新位置。
状态302
表示资源暂时位于别处,客户端(浏览器)应该继续请求原来的URL.
尽量不要删除整行,而是像下面这样调整它
path('', views.index, name='index')
也尝试在隐身模式下测试它,或禁用缓存。