【发布时间】:2019-04-02 07:24:08
【问题描述】:
我想将所有请求(例如 mysite.com/subfolder/...)通过Passenger 重定向到Django 应用程序,并将所有其他请求重定向到在某些php cms 下运行的网站。
文件结构:
- .htaccess
- 子文件夹/
- .htaccess
- 一些 cms 文件
根.htaccess的内容:
RewriteEngine on
... RewriteConds and RewriteRules generated by php cms
subfolder/.htaccess的内容:
PassengerAppRoot "/home/username/djangoapplication"
PassengerPython "/home/username/virtualenv/webapp/2.7/bin/python2.7"
问题是关于 root .htaccess。当根.htaccess 为空(仅包含RewriteEngine on)时,mysite.com/subfolder/... 之类的请求由subfolder/.htaccess 处理,Django 应用程序加载。但是当 root .htaccess 包含 php cms 生成的行时,所有像 mysite.com/subfolder/... 这样的请求都会导致来自 cms 的 404 错误页面。
所以我想在来自 cms 的 RewriteRules 之前过滤像 mysite.com/subfolder/... 到 subfolder/.htaccess 这样的请求,将其替换为 404 错误页面,但我不知道该怎么做。
【问题讨论】:
标签: django apache .htaccess mod-rewrite passenger