Apache2下实现Typecho永久链接(伪静态)
伪静态通过url rewrite实现,这里记录下apahce开启rewrite功能的方法。
首先第一步肯定是在typecho后台开启地址重写功能,不要管错误提示,选择【启用】并保存设置。
然后开始在apache2中进行配置:
- 本地新建一个文件,文件名**.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>
文件位置示意图:
- 修改apache2.conf(如果你的网站路径信息配置在VirtualHost下则修改对应位置)。这里以默认的/var/www为例,把AllowOverride后的参数改为FileInfo,不需要改成all,fileinfo的权限就够了。
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride FileInfo
Require all granted
</Directory>
- 完成以上两步以后,可以试着重启apache2,如果rewrite模块已经开启的话,到这一步伪静态就已经完成了。
systemctl restart apache2
- 如果很不幸操作apache2重启以后你的地址重写功能依然没有生效,那就是服务器没有启用rewrite模块,执行下面这条命令启用apache2-rewrite,然后再重启apache2。
a2enmod rewrite
systemctl restart apache2