url模式工作dev和prod之间的不同行为 - Django

时间:2012-05-25 13:48:30

标签: regex django url-pattern

我遇到了Django urlconf的问题。

基本上我有这种模式:

^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服务器上以这种方式起作用的原因。

干杯

1 个答案:

答案 0 :(得分:1)

Apache删除路径中的多个斜杠。你可以用一些mod_rewrite魔法解决这个问题。

引自here

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