我/火車目錄別名爲一個腳本在httpd.conf: WSGIScriptAlias /火車/some-path/../django.wsgi讓Apache和Django中添加一個尾隨斜線通過
,而且運作良好,除了一個問題。如果用戶前往/訓練(沒有斜線),則不會將他重定向到/ train /,但只會給他正確的頁面。這是一個問題,因爲當沒有使用尾部斜線來訪問它時,這種方式導致相應的鏈接導致錯誤的地方。
這怎麼解決?
謝謝。
我/火車目錄別名爲一個腳本在httpd.conf: WSGIScriptAlias /火車/some-path/../django.wsgi讓Apache和Django中添加一個尾隨斜線通過
,而且運作良好,除了一個問題。如果用戶前往/訓練(沒有斜線),則不會將他重定向到/ train /,但只會給他正確的頁面。這是一個問題,因爲當沒有使用尾部斜線來訪問它時,這種方式導致相應的鏈接導致錯誤的地方。
這怎麼解決?
謝謝。
我使用類似這樣的東西來重定向/訓練到/ train /,我所做的是重定向所有的URL,而不是以/ to/train /結尾。
最後一個解決方案!非常感謝你! – user302099 2010-05-23 22:18:55
將您的urlconf設置爲接受train/
作爲替代,然後使train
導致generic redirect到/train/
。
謝謝,但是Django無法知道用戶是否去訓練或訓練/因爲這兩個都被模式「^ $」檢測到,因爲Apache服務器只會將/train/(.*)重定向到Django。 我想解決方案必須在httpd.conf中,而不是在Django中,至少如果我想讓我的Django代碼獨立於包含的目錄(即 - 在httpd.conf中更改/訓練/其他名稱應該是如果我想更改目錄名稱,唯一要做的事情)。 – user302099 2010-03-27 11:41:27
如果你只需要重定向從/train
到/train/
,而不是從每個子目錄不帶後綴斜線,那麼就使用RedirectMatch指令一個簡單的解決方案:
RedirectMatch ^/train$ /train/
你問的是HTTP: //docs.djangoproject.com/en/dev/ref/settings/#append-slash設置? – 2010-03-25 21:28:55
原來我實際上是在尋找一個Apache解決方案,因爲目前當用戶去/訓練沒有被轉發到我的Django代碼。謝謝你的評論。 – user302099 2010-03-27 11:43:38