Apache2 + PHP之伪静态
1,查看pnpinfo(); 是是否已经打开mod_rewrite:
2,如果第一步已经打开则跳过这一步,如果没有则如下操作:
cd /etc/apache2/mods-enabled/
sudo ln -s …/mods-available/rewrite.load rewrite.load
3,打开AllowOverride
cd /etc/apache2/
sudo cp apache2.conf apache2.conf_bk
sudo vim apache2.conf
修改如下内容:
<Directory /var/www/>
#Options Indexes FollowSymLinks
Options FollowSymLinks
# 把 None 修改成 All
AllowOverride All
Require all granted
4,重启Apache2
sudo service apache2 stop
sudo service apache2 start
5,添加.htaccess规则
举例:
a) 要把/var/www/html/you_proj/index.php做.html伪静态:
在/var/www/html/you_proj/目录下创建.htaccess文件,添加一下内容:
RewriteEngine On
RewriteRule index.html$ index.php
b) 带参数的php动态页面做.html伪静态:
如: http://you_host/you_proj/article.php?id=xxx:
在you_proj/目录下创建.htaccess文件,添加一下内容:
RewriteEngine On
RewriteRule article-(.*).html article.php?id=$1
c) 可以同时添加多条规则,如a)和b)一起添加如下:
RewriteEngine On
RewriteRule index.html$ index.php
RewriteRule article-(.*).html article.php?id=$1