Route::get('lava', function () { return 'Hello World'; });
卻發現無法直接使用http://localhost/~alvin/lara/lava,而要用http://localhost/~alvin/lara/index.php/lava,多了index.php實在很奇怪。雖然認為問題出在.htaccess,但一直不知道是什麼問題,看了這篇.htaccess rewriterule not working correct on mac才想到因為Mac上我是直接使用user下的Sites,所以應該要做RewriteBase的設定才是,如下設定
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteBase /~alvin/lara #新增這行
# 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]
</IfModule>
這樣就可以正常使用了
參考網址:
How can I remove “public/index.php” in the url generated laravel?
.htaccess rewriterule not working correct on mac
沒有留言:
張貼留言