請按照以下步驟從Yii中的URL中刪除index.php。
第一步:打開文件protected/config/main.php並設置以下設置並保存。
'urlManager' => array(
'showScriptName' => false,
步驟2的.htaccess的變化:
Options -Multiviews
Options +FollowSymLinks
RewriteEngine on
RewriteBase/
# 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
的.htaccess如果不工作,然後用下面的步驟啓用它。
首先使用此命令使改寫:
$ sudo a2enmod rewrite
然後重新啓動的Apache2:
$ sudo service apache2 restart
然後進入網站可用文件夾:
$ cd /etc/apache2/sites-available
編輯該文件名爲默認並將AllowOverride none更改爲AllowOverride All。有兩條線需要進行這種改變。 這將使.htaccess在你的服務器上工作。
打開並編輯從該文件VIM /etc/apache2/sites-available/000-default.conf
<Directory /var/www/html/>
AllowOverride all
Options None
Require all granted
</Directory>
最後重新啓動的Apache2服務以應用所有更改
$ sudo service apache2 restart
你重寫轉換規則從Apache到Nginx? http://stackoverflow.com/questions/14927184/converting-htaccess-to-nginx-mod-rewrite – SiZE
@SiZE是的,我試過'位置/ { try_files $ uri $ uri//index.php?args; }' 默認演示博客工作正常,但我的應用程序沒有。 在Apache中我有'RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule ^(。*)\?* $ index.php/$ 1 [L,QSA]' –
也許這個wiki會幫助http://www.yiiframework.com/wiki/15/ – SiZE