我安装了一个全新的laravel,一切都很好,只是如果我去的网址最后没有输入index.php,那么就不能用了。
我使用的是:
http://localhost/index.php
在这种情况下,页面显示正确,但如果我只输入:
http://localhost/
那么就不能正常工作了。
如何查看它是否工作,我已经安装了debugbar,在第一种情况下,它是显示,但在第二种情况下,它不是。
我已经更新了apache2的配置,使它在公共目录下启动,同时我也确保它接受php,在000-default.conf中的DirectoryIndex为index.php。
我是否应该设置一些东西,使它在浏览器中点击目录时强制重定向到index.php?
下面是我在apache2 handler中加载模块的phpinfo中得到的信息,我可以看到mod_rewrite。
Loaded Modules
core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_php7 mod_reqtimeout mod_rewrite mod_setenvif mod_status
请修改httpd.conf文件的内容,如下图所示。
<IfModule dir_module>
DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
home.php home.pl home.cgi home.asp home.shtml home.html home.htm
</IfModule>
...
Listen 8094
<VirtualHost *:8094>
DocumentRoot "D:\yoursouce\public"
<Directory "D:\yoursouce\public">
Require all granted
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
...
然后再试试
http://localhost:8094/
衷心祝愿