我在我的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文件。