如何使用别名来使用Laravel OSX Mavericks和MAMP 5.4.14?

时间:2014-03-22 21:42:50

标签: macos apache laravel alias mamp

我第一次尝试使用Laravel并将其安装在我的Mac(OSX Mavericks)上,同时安装了MAMP 5.4.14(PHP 5.4.14,Apache 2)。我在MAMP上安装了各种其他项目(CakePHP),并且没有问题从别名目录提供文件。然而,Laravel似乎不喜欢它附带的配置或我用于CakePHP的配置,但我还没有找到解决方案。

在我的Apache配置中,我将其定义为我的别名:

Alias /laravel/ "/Users/user1/Documents/Web Development/laravel/public/“

<Directory "/Users/user1/Documents/Web Development/laravel/public”>
Options +Indexes +MultiViews +FollowSymLinks
AllowOverride All
Require all granted
</Directory>

在Laravel公共文件夹中我在htaccess中有这个

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /laravel/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>

不幸的是,我得到的是标准的Apache 403错误。

[Sat Mar 22 17:29:38.408215 2014] [authz_core:error] [pid 31418] [client ::1:51107] AH01630: client denied by server configuration: /Users/user1/Documents/Web Development/laravel/public/\xe2\x80\x9c

任何人都可以提供一些关于我忽略的提示吗?感谢

修改 - 其他信息

chmod整个laravel目录到777没有帮助

Laravel app.php文件有

'url' => 'http://localhost:8080/laravel',

我运行了内部的php服务器,它运行正常(php artisan serve),虽然它在base64_decode上引发了异常

还尝试了默认的htaccess

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

1 个答案:

答案 0 :(得分:1)

好吧,我应该注意到apache消息中的\ xe2 \ x80 \ x9c,这是可怕的卷曲引号。编辑器之间的复制和粘贴设法破坏了我的配置文件。以下是最终配置仅供参考:

Apache别名conf:

Alias /laravel/ "/Users/user1/Documents/Web Development/laravel/public/"
Alias /laravel "/Users/user1/Documents/Web Development/laravel/public"

<Directory "/Users/user1/Documents/Web Development/laravel/public">
    Options +Indexes +MultiViews +FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
我的laravel项目中的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>

我可以在

访问它
http://localhost:8080/laravel/

希望这有助于其他人!