伪静态通过url rewrite实现,这里记录下apahce开启rewrite功能的方法。

首先第一步肯定是在typecho后台开启地址重写功能,不要管错误提示,选择【启用】并保存设置。 是否启用地址重写功能.jpg

然后开始在apache2中进行配置:

  1. 本地新建一个文件,文件名**.htaccess** ,把下面这段内容粘贴进去,保存,然后上传到网站根目录。
<IfModule mod_rewrite.c> 
    RewriteEngine On
    RewriteBase / 
    RewriteCond %{REQUEST_FILENAME}  !-f
    RewriteCond %{REQUEST_FILENAME}  !-d
    RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]  
</IfModule>

文件位置示意图:

网站根目录下的.htaccess文件.jpg

  1. 修改apache2.conf(如果你的网站路径信息配置在VirtualHost下则修改对应位置)。这里以默认的/var/www为例,把AllowOverride后的参数改为FileInfo,不需要改成all,fileinfo的权限就够了。
<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride FileInfo
	Require all granted
</Directory>
  1. 完成以上两步以后,可以试着重启apache2,如果rewrite模块已经开启的话,到这一步伪静态就已经完成了。
systemctl restart apache2
  1. 如果很不幸操作apache2重启以后你的地址重写功能依然没有生效,那就是服务器没有启用rewrite模块,执行下面这条命令启用apache2-rewrite,然后再重启apache2。
a2enmod rewrite
systemctl restart apache2