簡體   English   中英

Django:將 URL 設置為永久 = True 后,停止將其重定向到另一個頁面

[英]Django: Stop redirecting URL to another page after setting it with permanent=True

出於某種原因,在我的 Django 應用程序中,我使用了 urls.py 文件中的重定向路徑,這樣每當有人訪問 example.com 時,他們就會被重定向到 example.com/blog

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls', namespace='blog')),
    path('', lambda request: redirect('blog/', permanent=True)),
]

現在我已經完全構建了我的站點並添加了視圖,例如 com。 為了訪問該頁面,我從代碼庫中刪除了重定向路徑的行,以便在我嘗試訪問 example.com 時不再重定向到 /blog。

path('', lambda request: redirect('blog/', permanent=True))

但問題是,即使刪除了上面的行,我仍然被重定向到 /blog。

即使在全新的 django 項目中,同樣的問題仍然存在。 即,即使我運行另一個 django 項目,我也無法訪問“/”路徑,它一直被重定向到“/blog/”。 我認為這是由於與永久=真有關的某些事情而發生的。 任何幫助將不勝感激扭轉這種影響。

提前致謝。

標志permanent=True意味着當有人試圖訪問索引頁面時,您的網絡服務器會返回301 - Permanent Redirect 您可能應該避免使用它並讓網絡服務器返回302 - Temporary Redirect

狀態301表示資源(頁面)被永久移動到新位置。 客戶端(瀏覽器)不應該嘗試請求原始位置,而是從現在開始使用新位置。

狀態302表示資源暫時位於其他地方,客戶端(瀏覽器)應繼續請求原始 URL。

盡量不要刪除整條線,而是按如下方式調整它

path('', views.index, name='index')

也嘗試在隱身模式下測試它,或者禁用緩存。

我使用谷歌瀏覽器

“permanent=True”設置為Django Project時,無論是否禁用Google Chrome 的緩存, Google Chrome都會緩存永久重定向。

而且,僅通過從Django Project中刪除“permanent=True” ,您就無法從Google Chrome中刪除永久重定向的緩存。

因此,您必須按照此說明Google Chrome中刪除緩存。

暫無
暫無

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

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