PHP專案部署-開啟rewrite(偽靜態)
阿新 • • 發佈:2019-01-09
TIPS:作者所用環境為2.4.25(Unix),不同版本配置應該會有所差異。
1、httpd.conf配置。
#LoadModule rewrite_module modules/mod_rewrite.so 去掉#
TIPS:開啟mod_rewrite即可實現Apache的偽靜態功能。
2、httpd.vhosts.conf配置。
<VirtualHost *:80>
ServerName www.xxx.com
DocumentRoot /webdata/xxx
<Directory "/webdata/xxx/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
</Directory>
</VirtualHost>
一定要配置為:AllowOverride All
此時,我的PHP專案已經開啟了rewrite模組,可以使用PHP框架路由模式來進行其指定的路由訪問。
3、隱藏index.php入口檔案:
在專案入口檔案index.php的同級目錄配置.htaccess。內容如下:
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>
此時已完成PHP專案部署。