1

我有一个 ZF1.11.12 应用程序,它在共享主机上的 /public/blog 上安装了 Wordpress。我正在使用 .htaccess 将所有请求重定向到 /public:

RewriteEngine On

# Exclude some directories from URI rewriting
#RewriteRule ^(dir1|dir2|dir3) - [L]

RewriteRule ^\.htaccess$ - [F]

RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]

RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]

RewriteRule ^public/.*$ /public/index.php [NC,L]

在公用文件夹中,我使用第二个 .htaccess 将所有请求定向到 index.php(根据标准 ZF 约定)将请求保存到两个目录 - /blog 和 /app。代码如下:

SetEnv APPLICATION_ENV production
SetEnv MAGIC_QUOTES 0
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteRule ^blog - [NC,L]
RewriteRule ^app - [NC,L]

RewriteRule ^.*$ index.php [NC,L]

一切似乎都正常运行,除了

  1. 当我导航到我的 WP 登录页面(/blog/wp-login.php)时,它通过 ZF 路由并抛出 404 异常(控制器不正确)
  2. 当我导航到 /blog 时,我被重定向到 /blog/blog/ 但是当我导航到 /blog/ (带有斜杠)时,我正确地发送了博客主页。对所有其他 WP 帖子的请求都可以正常工作。

更令人困惑的是,我在本地环境中访问我的 wp 登录没有问题。任何帮助,将不胜感激!网址是 www.lajollabluebook.com

4

1 回答 1

0

我目前正在将我们的 WP 站点与 Zend 1.11 一起添加。我已将 WP 站点添加到public/about/(对于我们的案例)。

我不必接触 Zend.htaccess文件public/(使用已经存在的文件,其中没有提及我们的新about目录)。

在 WP.htaccess文件 ( public/about/) 中,我编辑RewriteBaseRewriteRule以下内容:

 RewriteBase /about/
 RewriteRule . /about/index.php [L]

我可以在 [url]/about/[the-rest-of-WP-site] 下的 WP 网站上到处走走。我想我必须删除缓存或 cookie 或其他东西才能正常工作(不记得了)

希望有帮助。

于 2014-02-20T20:18:03.947 回答