Laravel 4在Subfolder MAMP中

时间:2014-04-29 15:04:56

标签: php apache .htaccess laravel-4 mamp

我在我的Windows电脑上使用Wampserver,而我的同事正在使用安装了MAMP的Mac。

我更改了我的.htaccess文件以删除网址中的/ public /,这工作正常,但这并不适用于我的好友的MAMP计算机。

我已经读过您需要将公共文件夹中的所有文件放在目录的根目录中,然后更改paths.phpindex.php。我已经完成了这个并且它没有工作,因为它安装在MAMP根目录下的子文件夹中,即使我改变了我的.htaccess以适应这一点。

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On
    RewriteBase /laravel/
    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

我一整天都在看这个,我真的很烦我无法找到解决方案。

那么最好和最安全的方法是什么?我如何才能让它能够在MAMP和共享主机上运行? (如果可能的话,还有wampserver,但这不是一个要求)

我不是MAMP虚拟主机的粉丝,如果我需要购买MAMP PRO以避免这种情况,那么我会,这不是问题:-)。如果这只能通过虚拟主机实现,那么我想我必须这样做。

感谢帮助男士和女士们!

3 个答案:

答案 0 :(得分:0)

或者你们都可以使用工匠附带的内置php服务器

$ php artisan serve

答案 1 :(得分:0)

您应该设置vhost并将域添加到hosts文件中。不要通过.htacces这样做。

的httpd-vhosts.conf

<VirtualHost *:80>
   DocumentRoot /path/to/your/project/public
   ServerName dev.yourproject.com
</VirtualHost>

现在编辑您的主机文件:http://helpdeskgeek.com/windows-7/windows-7-hosts-file/

将此添加到您的主机文件

127.0.0.1       yourproject.com

现在重启所有内容,您的项目应该可以从http://dev.yourproject.com获得。请不要使用.htacces,因为没有必要。

您也可以尝试:

php -S localhost:7000 -t public/

这将启动localhost:7000上的服务器中的PHP构建。使用项目文件夹的根目录运行命令。

http://www.php.net/manual/en/features.commandline.webserver.php

答案 2 :(得分:0)

在MAMP中执行此类操作时,您不需要手动编辑任何Apache文件。只需使用控制面板中的选项选择要用于www的目录:

MAMP Control Panel