2012-05-25 1 views
1

У меня проблема с Django urlconf.url pattern работает по-разному поведению между dev и prod - Django

основном я эту картину:

^publication/(?P<pub_search>[\w\.=&]+)?(/keyword/(?P<key_search>[\w=&]+))?(/author/(?P<auth_search>[\w=&]+))?(/tag/(?P<tag_search>[\w=&]+))?(/from/(?P<from_date>[\w\d=&]+))?(/until/(?P<until_date>[\w\d=&]+))?$

Согласно этой модели, я должен быть в состоянии иметь URL этой формы:

http://127.0.0.1:8000/publication//author/name=crock

Действительно, эта форма является URL признанный в моем сервере django dev. Но на производственном сервере (Apache + mod_wsgi) он не соответствует URL-адресу.

Я понятия не имею, почему он действует таким образом на prod-сервере.

Cheers

ответ

1

Apache удаляет несколько следов внутри пути. Вы можете исправить это с помощью некоторой магии mod_rewrite.

Цитируя here:

RewriteCond %{THE_REQUEST} ^GET\ /(https?://[^\s]+) 
RewriteRule ^https?:/ index.php?url=%1 [L] 
+0

Спасибо, но я совсем нуб с mod_rewrite ... Как я должен написать правило для doubleslashes для всех страниц под http://www.example.com/ ckp/например? – renard

+0

Я тоже не специалист по mod_rewrite. Я добавил пример, но googling вокруг должен помочь вам. В любом случае, я посмотрю, сможете ли вы избавиться от двойной косой черты в шаблоне url. – Wesley