app是我的項目文件名,默認的訪問地址是上面這樣的。爲了使URL更加簡介友好,現在要去掉中間的index.php,Windows系統的方法如下:
1。在Apache下找到httpd.conf文件,確認httpd.conf配置文件中加載了mod_rewrite.so 模塊,加載的方法是去掉mod_rewrite.so前面的註釋#號
2。講httpd.conf中的Allowoverride None 將None改爲All
3。打開對應的項目配置文件,我的項目配置文件是Myapp/Conf/config.php ,在這個配置文件數組中增加一行,‘URL_MODEL’=>2
4。在項目的根目錄下面建立一個.htaccess文件,此文件和入口文件同級,裏面寫入下面的內容:
<IfModule rewrite_module>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
如果你的服務器支持rewrite,現在就可以通過http://localhost/app/Index/index/訪問Index模塊下面的index操作。
ubuntu下面開啓apache的url_rewrite
解決方法一需要通過命令,或者自己重新創建個軟連接纔可以。
命令是:sudo a2enmod rewrite
軟連接是:sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
因爲Ubuntu下,Apache的配置文件及目錄結構不大一樣,所以mods-avalilable下的是可用的模塊,而真正啓用了的模塊是在mods-enable目錄底下的。所以自己創建軟連接也可以實現啓用rewrite模塊。
除了啓用rewrite外,還有地方需要修改的,如果你的站點只有一個,那修改/etc/apache2/sites-available/default這個文件就可以
<Directory />
Options FollowSymLinks
AllowOverride None(修改爲AllowOverride All)
</Directory>
<Directory "/var/orioner">
Options Indexes FollowSymLinks MultiViews
AllowOverride None(修改爲AllowOverride All)
Order allow,deny
allow from all
</Directory>
其實網上其它地方貼出來的解決辦法是吧Options FollowSymlinks的給改了就行了。其實不行,還要把Options Indexes FollowSymLinks MultiViews的也給改了纔可以。