【问题标题】:Django and serving a php scriptDjango 并提供 php 脚本
【发布时间】:2011-01-17 04:37:57
【问题描述】:

我正在运行 Django,并且我有一个我想在 /books 上服务的 php 脚本,它位于 /ci/home/bookSearch 的位置,但我希望它在书本上具有别名,这可能吗django?我尝试使用 mod_rewrite,但尝试执行此操作时出现 django url not found 错误。

静态文件可以吗?

谢谢!

【问题讨论】:

    标签: php django mod-rewrite django-urls


    【解决方案1】:

    如果您使用 mod_wsgi,则不需要为此使用 mod_rewrite。只需在 WSGIScript 指令之前创建一个别名,它就会正常工作。

    Alias /books /ci/home/bookSearch
    WSGIScriptAlias ...
    

    【讨论】:

    • 顺序实际上并不重要。 Alias 指令始终优先于 WSGIScriptAlias。
    【解决方案2】:

    如果您想要由 Django 提供的一整套 URL,然后在这些 URL 中使用另一个由自定义 PHP 脚本处理的 URL,那么您可以在 Web 服务器中设置这些 URL,例如 Apache 或 nginx。然后 URL /urla /urlb 和 /urlc 将由 Django 处理,而 /books 将通过 PHP。

    您可能会考虑从 /books 到 /ci/home/bookSearch 的 HTTP 重定向。这样您就可以让用户在 URL 栏中键入 /books 并到达正确的位置,即使它是第二个更长的 URL。

    Django 中的 HTTP 重定向如下:

    # urls.py
    ...
    url(r'^books$', 'django.views.generic.simple.redirect_to',
        {'url': '/ci/home/bookSearch'}),
    ...
    

    【讨论】:

    • 当他说位置时,他可能指的是文件系统路径而不是 URL 位置。
    猜你喜欢
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    相关资源
    最近更新 更多