我不知道如何让CakePHP在我本地计算机上的虚拟主机中运行。我可以让代码在默认的http://localhost:8888/caketest/
上运行,但是无法从http://cakeapp.local:8888/
开始工作,我会收到警告
"URL rewriting is not properly configured on your server. 1) Help me configure it 2) I don't / can't use URL rewriting"
在MAMP的httpd.conf中我添加了
<VirtualHost *>
DocumentRoot "/Applications/MAMP/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *>
DocumentRoot "/Users/me/Documents/path/to/root/root"
ServerName cakeapp.local
</VirtualHost>
我在帮助页面中看到它预期
Options FollowSymLinks
AllowOverride All
# Order deny,allow
# Deny from all
但这使MAMP崩溃了
两者都是CakePHP 2.4.9,没有更改默认下载
编辑:/Users/me/Documents/path/to/root/root
中无法正常工作的文件被复制到/Applications/MAMP/htdocs
然后工作,因此这是虚拟主机的问题
编辑2: 我以为我找到了一个解决方案,但看起来我错了。我将虚拟主机更改为直接指向/ app / webroot,这使得默认页面显示正确,然后我继续添加DebugKit插件(我在不同的本地主机文件中工作,并且其文件的重写仍然不起作用
例如app / Plugin / DebugKit / webroot / css / debug_toolbar.css加载到http://localhost:8888/caketest/debug_kit/css/debug_toolbar.css
但虚拟主机http://cakeapp.local:8888/debug_kit/css/debug_toolbar.css
中的文件返回404错误(插件工作),文件只是没有加载。
答案 0 :(得分:0)
如果您将/ Application / MAMP / htdocs中的代码复制到/ Users / me / Documents / path /到/ root / root,那么.htaccess文件是否也被复制了?这个隐藏文件经常被遗忘。
答案 1 :(得分:0)
好的,我认为这样可行,上次我尝试修复目录时没有指向正确的目录。
我在httpd.conf中添加了以下内容:
<Directory "/Users/me/Documents/path/to/root/root">
Options All
AllowOverride All
Order allow,deny
Allow from all
</Directory>
答案 2 :(得分:0)
在你的.htaccess文件中替换它,它对我有用。
RewriteEngine On
RewriteBase /path/to/cake/app
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]