我的使用VirtualHosts的laravel应用程序出现问题,我可以看到laravel的主页,但是当我尝试制作像advkit.dev/login这样的路线时,我得到了#34;请求的URL /在此服务器上找不到登录。"所以我的所有路线都没有工作,是否有人知道我需要在我的代码中更改以使路线有效。我也将debug设置为true,我只在主页上获得了debuging控制台,例如advkit.dev no where else
路线:
<?php
Route::get('/', function()
{
return View::make('hello');
});
// login.blade.php
Route::get('/login', function() {
return View::make('login');
});
主机
127.0.0.1 www.localhost.com
127.0.0.2 advkit.dev
httpd-hosts文件
<VirtualHost advkit.dev>
DocumentRoot C:\wamp\www\advkit\public
ServerName advkit.dev
</VirtualHost>
答案 0 :(得分:1)
我遇到了同样的问题,以下答案中给出的虚拟主机设置对我有用:https://stackoverflow.com/a/33760330/4561150
<Directory "C:/myproject/mysubfolder/public">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
答案 1 :(得分:0)
听起来Apache忽略了您的.htaccess
文件。您可以解决这个问题,但更好的解决方案是将该.htaccess
文件的内容放入虚拟主机中。然后你的虚拟主机看起来像这样:
<VirtualHost advkit.dev>
DocumentRoot C:\wamp\www\advkit\public
ServerName advkit.dev
<Directory C:\wamp\www\advkit\public>
# Ignore the .htaccess file in this directory
AllowOverride None
# Rewrite URLs
<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>
</Directory>
</VirtualHost>
答案 2 :(得分:0)
您可以在.conf文件中添加以下行。
<Directory /var/www/gloops/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
保存文件并通过给定命令启用重写模式并重新启动apache2服务。
sudo a2enmod rewrite
sudo service apache2 restart