簡體   English   中英

從網址YII中刪除index.php

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM