为了修改伪静态遇到的问题进行记录。
Typecho在不同的操作系统和不同的服务器环境下的伪静态设置不同,下面就一一记录下来。

  1. Linux Nginx 环境

Nginx 通过修改 nginx.conf 来实现功能控制,只需要在 server 模块里添加以下代码即可:

1
2
3
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}

如果使用宝塔面板安装 Nginx 环境,只需在网站设置的伪静态里面填入上述代码即可。

  1. Linux Apache 环境

修改 Apache 的配置文件 httpd.conf 使其支持 mod_rewrite 模块:注释掉#LoadModule rewrite_module modules/mod_rewrite.so前面的#号,没有则添加,但必须独占一行;同时,把文件中 AllowOverride None 换成 AllowOverride All 使 Apache 支持 .htaccess 文件

在网站根目录下的.htaccess文件中添加代码,如没有该文件,则先创建:

1
2
3
4
5
6
7
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>
  1. Windows IIS 环境

Windows 下一般是通过修改根目录下的 httpd.ini 文件或者 web.config 文件实现。
修改 httpd.ini 文件

1
2
[ISAPI_Rewrite]
RewriteRule /(.*).html /index.php/$1.html [L]

Typecho伪静态