Laravel路由不适用于WAMP

时间:2016-03-09 11:05:57

标签: php apache laravel routing wamp

几天以来,我一直在寻找如何解决这个问题,但没有任何帮助。

我有laravel项目c:/ wamp / www / laravel / public并且只有默认路由正在工作(我放入它的任何东西都可以工作),但是其他任何路由都没有。

目前我有这两条路线。第一个工作,第二个不工作。

Route::get('/', function () {
    return view('page.home');
});

Route::get('/shows', function () {
    return view('page.shows');
});

我在.htaccess,httpd.conf,httpd-vhosts.conf中尝试了很多东西,我在互联网上找到但没有任何作用。

我在httpd中启用了rewrite_module,我尝试将虚拟主机添加到ti或httpd-vhosts:

<VirtualHost *:80>
DocumentRoot "c:/wamp/www/laravel/public"
ServerName autoplay.dev
<Directory "c:/wamp/www/laravel/public">
        Options FollowSymLinks Indexes Multiviews
        AllowOverride All
        Order deny,allow
        Allow from 127.0.0.1
        Deny from all
        Require all granted 
</Directory>

这是我的.htaccess文件:

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

    Options +FollowSymLinks
    RewriteEngine on

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

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

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

在其中我也尝试过RewriteBase,但它没有帮助。

现在当我尝试去除主页以外的任何其他页面时(如果我有路线,它是相同的)我得到的错误没找到:请求的URL / wamp / www / laravel / public /在此服务器上找不到index.php。

请不要问视图是否在页面文件夹和类似问题中,这是正确的,因为如果我在默认路由中切换它,它会正常工作。

你能帮助我吗,因为我已经开心并尝试了几天,这对我的健康有害:D

谢谢:)

1 个答案:

答案 0 :(得分:0)

在虚拟主机文件中

<VirtualHost *:80>
DocumentRoot c:/wamp/www/laravel/public
ServerName autoplay.dev
</VirtualHost>

在.htaccess文件中使用以下代码: -

Options +FollowSymLinks
RewriteEngine On

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

现在在浏览器中查看autoplay.dev/

链接: - https://laravel.com/docs/5.0/installation#pretty-urls

同时检查link

希望它会对你有所帮助:)。