我在ubuntu上使用带有新版本apache的Laravel 5,当我尝试访问该页面时:localhost它可以工作,如果我尝试localhost / index.php / my_page它可以工作,但如果我尝试localhost / my_page,它犯规。因此,通过搜索其他问题,我猜我的问题在于.htaccess文件。
根据我在网上看到的建议,我在laravel / public中将rewriteBase和Options + FollowSymLinks添加到了我的.htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /repos/kenrose/public
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
这就是我的apache2.conf文件看起来
<Directory /repos/kenrose>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
我已经采纳了我对这个问题的所有建议。有什么问题?
答案 0 :(得分:0)
试试这个:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
尝试删除您的+FollowSymLinks
部分,希望它能够正常运作。
答案 1 :(得分:0)
运行后
a2enmod rewrite
在命令终端,一切都很好。 我不知道这是做什么的,或者问题是什么。