1

我正在开发具有使用 WordPress 和 WordPress 目录制作的前端网站的网站

包含一个具有 cakephp 网站的仪表板文件夹。一切都在我的完美运行

本地系统,但是当我将整个网站迁移到在线服务器时,我无法访问

我在这里读到的 www.mywebsite.com/dashboard 文件夹

https://wordpress.stackexchange.com/questions/20152/cannot-access-non-wordpress-subdirectories-as-wordpress-overrides-them-with-a-40

这是一个 htaccess 问题,但我根本不知道 htaccess 编码,所以这个链接很混乱

如果有人可以向我解释(以简单的方式)为什么会出现这个问题?以及如何

解决这个问题?会对我有帮助

我的 wordpress htaccess 是

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

和 cakephp htaccess,它位于 wordpress-install-directory/dashboard/cakephp-install

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>
4

3 回答 3

1

如果它们位于具有独立 .htaccess 文件的不同文件夹中,您可以尝试为 cakephp 设置基目录,如下所示:

<IfModule mod_rewrite.c>
    RewriteEngine on
    # Could be dashboard or cakephp-install
    RewriteBase  /dashboard
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>
于 2012-12-15T06:52:55.000 回答
1

这应该只是更改您的 .htaccess 以匹配以下内容的情况

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase  wordpress-install-directory/dashboard
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

执行上述操作将告诉 cake 所需的文件位于安装目录/仪表板中。

您还需要对 webroot 和 app .htaccess 进行相同的更改

于 2012-12-18T12:37:10.867 回答
1

从这里的stackoverflow答案:http://stackoverflow.com/questions/2322559/htaccess-wordpress-exclude-folder-from-rewriterule/2350305#2350305添加

RewriteCond %{REQUEST_URI} !^/(dashboard|dasboard/.*)$

在 wordpress 目录上的 .htaccess 文件的最后一个 RewriteRule 之前,它应该可以工作。

于 2012-12-19T14:14:31.957 回答