去掉前面的#
LoadModule rewrite_module modules/mod_rewrite.so
對於Ubuntu,須要在apache安裝目錄下的 mods-enabled 文件夾中建立軟鏈接。php
進入 /mods-enabled 下,apache
cd mods-enabled/
sudo ln -s ../mods-available/rewrite.load rewrite.load # 要確保 ../mods-available/rewrite.load 文件存在,不存在須要安裝rewrite模塊
注:apache安裝目錄下:mods-available---未啓用的模塊,mods-enabled----已啓用的模塊ubuntu
能夠在apache的配置文件 conf/httpd.conf 末尾添加以下代碼,或是在 sites-enabled 文件夾下新建個 .conf 文件,文件名隨意,也可像 mods-enabled/ 下那樣建立連接。app
Alias /athena "/home/liuqian/workspace/athena/" # 依據實際狀況改成本身的路徑 <Directory "/home/liuqian/workspace/athena/"> # 依據實際狀況改成本身的路徑 Options Indexes MultiViews FollowSymLinks AllowOverride All # 主要是這個 Order allow,deny Allow from all </Directory>
注:apache安裝目錄下:sites-available---未加載的配置文件,sites-enabled----已加載的配置文件ide
進入到項目文件夾下,在 index.php 所在的目錄下建立 .htaccess 文件網站
文件中寫以下:spa
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^(index\.php|BJUI|captcha|js|plugins|images|robots\.txt) # index.php的同級目錄下還有要過濾除去的文件夾,把名字一併寫到這裏 RewriteRule ^(.*)$ /athena/index.php/$1 [L] # 若是網站就在根目錄下,就直接寫 index.php/$1 [L],個人index.php是在根目錄下的athena文件下中
#若是沒有安裝mod_rewrite模塊,全部的404頁面都將被 #發送到index.php,此時,程序會像沒有設置隱藏時同樣運行 ErrorDocument 404 index.php
$config['index_page'] = "index.php";
改成:rest
$config['index_page'] = "";
sudo apachectl restart # 這裏是ubuntu的重啓命令