2014-01-23 67 views
2

我爲我的網站使用Laravel PHP框架。在我的導航中,我有這樣的li元素。Laravel URL :: route和index.php

<li class="{{ URL::current() == URL::route("mainpage") ? "active" : "" }}"><a href="{{ URL::route("mainpage") }}">Home</a></li> 
<li class="{{ URL::current() == URL::route("portfolio") ? "active" : "" }}"><a href="{{ URL::route("portfolio") }}">Portfolio</a></li> 

我用URL::route獲得鏈接到一個名爲路線在我的routes.php文件,並使用current方法來檢查網頁是否處於活動狀態並添加active類在這種情況下的元素。

如果用戶在路徑中沒有index.php,這完全可以工作。如果這是在URL中,那麼鏈接將看起來像domain.com/index.php/portfolio,這是不好的。

如何讓鏈接不包含index.php?

+0

您在設置中使用的是什麼版本的Laravel? –

回答

0

那麼,你可以確保用戶總是進入網站沒有index.php的URL。這可以通過重定向操作來完成,因此您需要修改.htaccess並添加一個重定向操作。

RewriteRule ^index.php/(.*)$ /$1 [R=302,L] 
+0

感謝您的評論。我使用IIS,所以這不起作用。我不能讓鏈接正確生成嗎? – MikkoP

0

檢查你的/app/config/app.php文件。如果它包含

'index' => 'index.php' 

刪除index.php(將值留空)。這有幫助嗎?

+1

感謝您的回答。我的配置文件沒有這個條目。 – MikkoP

+0

該選項位於laravel 4的較低版本中 – cheloncio

相關問題