[英]Remove index.php from url YII
我是yii的新手,因此遇到網址問題。 我不要在我的網址中使用index.php
。 我試過下面的代碼:
.htaccess
文件:
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
我在main.php
文件中添加了以下內容:
'urlManager'=>array(
'urlFormat'=>'path',
'caseSensitive'=>false,
),
如果我手動刪除index.php可以。 bt,如果我單擊菜單鏈接,它將轉到
<div id="mainmenu">
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('post/index')),
array('label'=>'About', 'url'=>array('site/page', 'view'=>'about')),
array('label'=>'Contact', 'url'=>array('site/contact')),
array('label'=>'Login', 'url'=>array('site/login'), 'visible'=>Yii::app()->user->isGuest),
array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('site/logout'), 'visible'=>!Yii::app()->user->isGuest)
),
)); ?>
您很可能沒有正確設置Apache配置
通過更改/etc/apache2/apache2.conf
AllowOveride指令來打開重寫條件(位置可能因操作系統而異,您當然也可以僅針對應用程序目錄將其打開)
<Directory>
...
AllowOverride None
....
</Directory>
至
<Directory>
...
AllowOverride All
....
</Directory>
啟用重寫模塊可以執行的操作(可能因操作系統而異)
a2enmod rewrite
之后重啟apache2
/etc/init.d/apache2 restart
要么
service apache2 restart
我認為錯誤是因為,請先取消注釋
LoadModule rewrite_module modules/mod_rewrite.so
在此處查看更多信息yii http://thewayofcoding.com/2009/11/clean-urls-in-php-yii-framework/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.