我和Yii一起玩。 我使用.htaccess和主配置删除了URL中存在的Entry脚本,但是当我使用CHtml :: links()时它再次出现。我该如何解决? 例如:
<?php echo CHtml::link(CHtml::encode($data->id), array('view', 'id'=>$data->id)); ?>
更新: 我的urlManager配置:
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
'commentfeed'=>array('comment/feed','urlSuffix'=>'.xml', 'caseSensitive'=>false),
'showScriptName'=>false,
'caseSensitive'=>false,
'<pid:\d+>/commentfeed'=>array('comment/feed','urlSuffix'=>'.xml', 'caseSensitive'=>false),
),
我的.htaccess
Options +FollowSymLinks
IndexIgnore */*
<IfModule mod_rewrite.c>
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
</IfModule>
答案 0 :(得分:2)
您必须在配置文件中将showEntryScript设置为false。
请按照框架的官方说明如何操作: http://www.yiiframework.com/doc/guide/1.1/en/topics.url#hiding-x-23x