apache 2.4 php和laravel - 友好的网址

时间:2014-03-11 04:41:42

标签: php apache laravel

自从最近几个小时试图让我友好的网址工作以来,我一直在脱掉头发。 我有apache 2.4与php设置。该应用程序使用laravel 4构建

所以,当这个http://machinename:90/helpsystem/index.php/categories有效时,工作http://machinename:90/helpsystem/categories

我在apache的httpd.conf文件中启用了mod_rewrite模块 我还将它添加到httpd.conf

的别名模块部分
ScriptAlias /helpsystem "c:/Apache24/htdocs/helpsystem/public"

public是laravel app的公共文件夹

我的目录部分看起来像这样

<Directory "c:/Apache24/htdocs/helpsystem/public">
    Options Indexes Includes FollowSymLinks MultiViews
    AllowOverride AuthConfig FileInfo
    Order allow,deny
    Allow from all
</Directory>

和.htaccess文件看起来像这样

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
你能告诉我我做错了什么吗?

谢谢

2 个答案:

答案 0 :(得分:1)

AllowOverride All应该在重新启动apache2

后解决您的问题
<Directory c:/Apache24/htdocs/helpsystem/public/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

答案 1 :(得分:0)

查看Apache's upgrade guide from 2.2 to 2.4

由于现在大多数Linux发行版(特别是Debian / Ubuntu)都发布了2.4+,你会看到这种情况发生了很多。我看到你在Windows上,所以它看起来像你碰巧使用的任何更新!具体地,

Order allow,deny Allow from all

已替换为Require all granted,因为Apache现在使用mod_authz_host