mod_rewrite,rewrite_module兩種方式均不成功
阿新 • • 發佈:2019-02-07
由於httpd沒有在編譯時把重寫模組編譯進去 ,因此為了配置 重寫規則,先通過
# /usr/local/apache/bin/apxs -c mod_rewrite.c //apxs應指定絕對路徑,在你當前正在使用apache的bin目錄裡
# /usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la
-a表示自動在你的httpd配置檔案中使用重新模組。
因為是動態載入,所以,我們/usr/local/apache/bin/httpd -l 發現根本木有 mod_rewrite.c,因此下規則的時候不能使用
<if
Module mod_rewrite.c>這種方式 ,因此使用下面的方式。
<If Module rewrite_module>
但是很悲劇的是 ,上面那個語句判斷應該已久是 沒有為TRUE,因此,mode_rewrite還是沒有配置對。而且很詭異的是,我們寫一個phpinfo發現 ,mod_rewire模組是load了的。沒有辦法,只有通過一下方式解決咯。
<Directory />
Options Includes FollowSymLinksAllowOverride All
#<IfModule rewrite_module>
RewriteBase /
RewriteEngine on
#RewriteLogLevel 9
#RewriteLog logs/rewrite.log
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
#</IfModule>
</Directory>