在我的测试应用程序中,我试图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
目录中。