我在服务器 http://stevencampbell.org/ 上安装了 Django
我希望能够在 stevencampbell.org/blog/上运行 WordPress
我正在通过 Fast_CGI 运行我所有的 Python 和 Django 文件(我的服务器上只有 Django 选项)。我的 .htaccess 文件如下所示:
AddHandler fastcgi-script .fcgi
RewriteEngine On
RewriteRule ^(/media.*)$ /$1 [QSA,PT]
RewriteRule ^(/adminmedia.*)$ /$1 [QSA, PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi/$1 [QSA,L]
据推测,我需要为博客目录添加另一个 RewriteRule,但到目前为止我的尝试都没有奏效。我可以访问/blog/index.php,但是/blog/给我一个 Django 错误,这意味着该目录仍在由 dispatch.fcgi 文件处理。
另外,我不太确定我在用这些重写规则做什么。如果我做错了什么,请告诉我。
请您参考如下方法:
AddHandler fastcgi-script .fcgi
RewriteEngine On
RewriteRule ^(/media.*)$ /$1 [QSA,PT]
RewriteRule ^(/adminmedia.*)$ /$1 [QSA, PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/blog(/.*)?$
RewriteRule ^(.*)$ dispatch.fcgi/$1 [QSA,L]
看到那个额外的 RewriteCond 了吗?基本上说“如果请求不是 /blog 或/blog/whatever,然后将请求重写为调度.fcgi
在 /blog 内的 WordPress .htaccess 中,您应该在 RewriteEngine On 之后添加行 语句。RewriteBase/blog/
