在1and1上查看CakePHP 3应用程序时出现404错误

时间:2017-02-09 18:17:18

标签: apache .htaccess mod-rewrite cakephp-3.0

当我尝试访问位于mydomain.com/subfolder的网站时,我得到一个404(来自Apache)。

/subfolder/.htaccess

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

/subfolder/webroot/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

要确认mod_rewrite有效,我在/subfolder/.htaccess文件中将其添加到了及时重定向:

Redirect 301 / http://other-domain-owned.com/

因此,.htaccess是有效的,mod_rewrite可以使用。

在我的开发环境中,通过/subfolder指令为该文件夹启用.htaccess文件,我能够使网站在同一Directory内工作。

有些教程说要添加RewriteBase /,但这没有帮助。

1 个答案:

答案 0 :(得分:1)

您也可以使用绝对路径代替RewriteBase。此外,前两个规则可以简化为一个

RewritRule ^(.*)$ /subfolder/webroot/$1 [L]

类似于第二部分

RewriteRule ^ /subfolder/webroot/index.php [L]

最后,RedirectRewriteRule来自不同的模块。因此,如果其中一个指令正在运行,那么这也不能证明另一个指令是有效的。