mod_python 中的 URL 未按预期工作
我正在使用 apache 和 mod_python 构建一个 Web 服务器。我已经像其他人一样创建了index.py,但与其他人不同的是,如果不向网址添加 .py
,我就无法访问网页。
例如,http://127.0.1.1/commentsubmit
会生成 404,但 http://127.0.1.1/commentsubmit.py
按预期显示页面。
所有内容都在我的 index.py 中,并且 http://127.0.1.1/
运行良好,但没有 .py
就没有其他内容。我的其他方法如下所示:
def commentsubmit(req):
rest of method
我很确定问题出在 mod_python 中,但我不知道是什么。是否有某种配置设置可以做到这一点?除了 from mod_python import apache
我应该导入其他东西吗?
I'm building a web server with apache and mod_python. I've created index.py as I've seen others do, but unlike others I can't access web pages without adding a .py
to the url.
For example, http://127.0.1.1/commentsubmit
produces a 404, but http://127.0.1.1/commentsubmit.py
brings up the page as expected.
Everything is in my index.py, and http://127.0.1.1/
comes up fine, but nothing else without the .py
. My other methods look like this:
def commentsubmit(req):
rest of method
I'm pretty sure the problem lies in mod_python, but I have no idea what. Is there some sort of configuration setting that might do this? Something other than from mod_python import apache
I should be importing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的 apache 服务器将配置为将对以 .py 结尾的文件名的请求传递给 mod_python (如果该文件存在于目录中)。
有许多不同的解决方案可以将 /commentsubmit 请求传递给您的 commentssubmit.py 处理程序。最简单的可能是使用 mod_rewrite。添加这个给你.htaacess:
这是一种过时的做事方式。我建议您查看 pyramid (或 pylons,或 django,或其中之一)然后,您可以使用基于路由的 url 调度或基于横向的 url 调度,更好地控制如何将 ulrs 映射到代码。
Your apache server would have been configured to pass requests to filenames that end in .py to mod_python (if the file exist in the dir.)
There are a number of different solutions to make request to /commentsubmit get passed to your commentsubmit.py handler. The easiest would probably be to to use mod_rewrite. Add this to you .htaacess:
This is a dated way to do things. I recommenced that you look at pyramid (or pylons, or django, or one of the million other wsgi frameworks.) You can then have much better control over how to map ulrs to code, using route based url dispatch, or transversal based url dispatch.