【发布时间】:2011-08-24 23:01:53
【问题描述】:
我正在使用 nginx 运行我的 django 应用程序。我想写一个重定向规则,这样
如果用户点击 url http://example.com/django/nginx/ 然后它会将其重定向到
http://example.com/django/#!/nginx/。我想知道它的正则表达式。
谢谢
【问题讨论】:
我正在使用 nginx 运行我的 django 应用程序。我想写一个重定向规则,这样
如果用户点击 url http://example.com/django/nginx/ 然后它会将其重定向到
http://example.com/django/#!/nginx/。我想知道它的正则表达式。
谢谢
【问题讨论】:
您需要在客户端(最有可能通过 Javascript)而不是通过 nginx 来处理此问题。
据我了解,URL 中的 # 点(根据规范)是 # 之后的部分不会到达服务器。
另外,请参阅此问题以获取有关使用 hash-bang url 的 JS 库的一些信息:Are there any javascript libraries for working with hashbang/shebang (#!) urls?
【讨论】:
以您为例,我假设您仅使用“http://1/2/3/”形式的 URL,因此没有任何内容超出 3。您想在哪里用“/”分隔 2 和 3 #!/".如果是这种情况,您可以尝试以下方法。
from django.views.generic.simple import redirect_to
urlpatterns = patterns('',
('^django/(?P<ajax_section>\w+)/$', redirect_to, {'url': '/django/#!/%(ajax_section)s/'}),
)
以上假设 URL 中的 2("django") 将被修复。如果不是这种情况,您也必须尝试将其设为参数。
【讨论】: