CakePHP网站路径访问问题


CakePHP Website Path Access Issue

我在我的LAMP Environment上使用CakePHP 1.3作为我的一个项目,我突然对URL的网站路径问题感到震惊:

它是这样来的:

http://localhost/project/app/webroot/index.php/mydocuments/

直到现在它还在正常运行:

http://localhost/project/mydocuments/

但是我真的不知道,是什么设置改变了导致这个路径问题。

我有3个默认的。htaccess文件,CakePHP提供了我的文件夹结构,一个htaccess文件在根文件夹(app文件夹外),一个htaccess文件在app文件夹,另一个在app/webroot文件夹,正如你在这里所描述的,但它的路径仍然是问题。

我假设你使用Apache,你的Apache目录是指向你的app/webroot文件夹。

你需要一个。htaccess文件在你的webroot目录下使它在Apache上工作。

<IfModule mod_rewrite.c>
   RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

如果你的Apache doroot是你的应用程序的根目录(不推荐),你需要在你的应用程序的根目录下另一个。htaccess文件:

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

希望这对你有帮助!

我明白wrdevos说的话。最重要的是,还要确保在documentroot的Directory指令下(在Apache配置中),选项AllowOverride被设置为All,如下所示:

<Directory "/var/www/html">
    AllowOverride All
    # Other options should follow...
</Directory>

在大多数系统中,默认设置为AllowOverride None,这根本不允许运行。htaccess文件。