сделать Apache и Django добавить косую черту - PullRequest
4 голосов
/ 26 марта 2010

Мой каталог / train связывается со скриптом в httpd.conf следующим образом: WSGIScriptAlias ​​/ train /some-path/../django.wsgi

И это хорошо работает, за исключением одной проблемы. Если пользователь переходит в / train (без косой черты), он не будет перенаправлять его в / train /, а просто даст ему нужную страницу. Это проблема, потому что таким образом относительные ссылки на этой странице ведут в неправильное место, когда для доступа к ней не использовался косой черты.

Как это можно решить?

Спасибо.

Ответы [ 3 ]

6 голосов
/ 20 мая 2010

Я использую что-то подобное для перенаправления / train to / train /, что я делаю, перенаправляя все URL, которые не заканчиваются на /train/.

.
<Location "/train">
     Order deny,allow
     Allow from all
     RewriteEngine on
     RewriteRule  !^.*/$  /train/  [R]
</Location>

WSGIScriptAlias /train /some-path/../django.wsgi
6 голосов
/ 02 июля 2010

Если вам просто нужно перенаправить с /train на /train/, а не из каждого подкаталога без конечной косой черты, тогда существует более простое решение с использованием директивы RedirectMatch:

RedirectMatch ^/train$ /train/
0 голосов
/ 26 марта 2010

Установите вместо urlconf значение train/ в качестве действительного, затем train приведите к универсальному перенаправлению на /train/.

...