几天以来,我一直在寻找如何解决这个问题,但没有任何帮助。
我有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
谢谢:)
答案 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。
希望它会对你有所帮助:)。