我是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就可以了。如果我点击菜单链接,它会转到
<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)
),
)); ?>
答案 0 :(得分:0)
很可能你没有正确设置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
答案 1 :(得分:0)
我认为错误是,请先取消注释
LoadModule rewrite_module modules/mod_rewrite.so
点击此处查看更多信息yii http://thewayofcoding.com/2009/11/clean-urls-in-php-yii-framework/