问题是让CakePHP在虚拟主机中运行MAMP

时间:2014-05-03 06:29:33

标签: php apache cakephp mamp virtualhost

我不知道如何让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错误(插件工作),文件只是没有加载。

3 个答案:

答案 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]