xampp apache重写不起作用

时间:2016-03-07 12:24:03

标签: apache laravel mod-rewrite

我在htdocs中有一个名为crm的文件夹,其中包含一个新的laravel 5.1 项目,我试图通过http://localhost/crm/访问它 但它只是带来包含目录内容的页面索引 而不是我的routes.php中映射的页面

Route::get('/', function () {
    return view('panel');
});

我已经检查过httpd.conf

中是否启用了apache mod_rewrite
LoadModule rewrite_module modules/mod_rewrite.so

DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">

    Options Indexes FollowSymLinks Includes ExecCGI

    AllowOverride All

    Require all granted
</Directory>

然后crm / public文件夹中的.htaccess文件包含

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

    RewriteEngine On

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

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

我也尝试将其更改为

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

没有成功。

1 个答案:

答案 0 :(得分:0)

您需要将Laravel指向public目录以使其正常工作。例如,如果您在C:/xampp/htdocs/目录中安装了Laravel,则需要使用以下设置:

DocumentRoot "C:/xampp/htdocs/public"
<Directory "C:/xampp/htdocs/public">

不要在公共文件夹中编辑.htacces。尝试更改设置并首先转到localhost来加载Laravel网站。

编辑Apache配置文件时,应重新启动Web服务器。