在我的测试应用程序中,我试图index.php从 url 中删除。我可以像这样访问根页面http://localhost/trackstar/而不是http://localhost/trackstar/index.php,但是一旦我尝试访问另一个页面http://localhost/trackstar/project或任何其他页面,我总是会在该index.php页面结束。然而,开幕http://localhost/trackstar/index.php/project作品。
我正在使用 WAMP 服务器。配置如下。
启用了 apache 中的重写模块。配置main:
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array(
'commentfeed' => array('comment/feed', 'urlSuffix' => '.xml', 'caseSensitive' => false),
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
'showScriptName' => false,
),
.htaccess在项目的根文件夹中:
Options +FollowSymlinks
IndexIgnore */*
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
我还添加了 in httpd.conf,尽管我认为这不是必需的:
<Directory "c:/wamp/www/TrackStar/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
我已经尝试了几种额外参数的组合.htaccess,但我一直被重定向到我的index.php页面。
关于为什么这不起作用的任何想法?
编辑:
由于我被重定向,签入RewriteCond不成功,换句话说,REQUEST_FILENAME找不到目录或文件。也许我的目录结构有问题?

例如,该TrackStar\protected\views\project目录是我试图通过http://localhost/trackstar/project. 我的Yii框架文件位于文件夹上方的www目录中。