我们网站使用的服务器环境一般有IIS、Apache、Tomcat、Nginx 等,他们各有优劣。一般虚拟空间使用IIS 和 Apache居多,这两个的配置都比较简单,IIS一般都安装了ISAPI_Rewrite 模块,可以直接使用和Apache一样的.htaccess文件来配置,直接将.htaccess文件上传到网站根目录即可。
.htaccess 文件代码

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

如果iis没有安装ISAPI_Rewrite 模块,也就是放了.htaccess文件没生效的话,就需要根据iis的版本来配置。iis的配置文件,同样是放在网站根目录下。iis6的伪静态文件名为httpd.ini。iis7以上的是web.config。 iis6的伪静态规则代码 httpd.ini

#
# httpd.ini
# 

[ISAPI_Rewrite]

# 3600 = 1 Hour
CacheClockRate 3600

RepeatLimit 32


RewriteRule /(.*) /index.php [L]

iis7以上的伪静态规则代码 web.config

<?xml version="1.0"	encoding="UTF-8"?>
<configuration>
<system.webServer>
  <rewrite>
		<rules>
			<rule name="wordpress" patternSyntax="Wildcard">
				<match url="*" />
				<conditions>
				<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
				<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
				</conditions>
				<action type="Rewrite" url="index.php" />
			</rule>
		</rules>
  </rewrite>
</system.webServer>
</configuration>

Nginx伪静态规则配置

由于nginx和apache、iis的伪静态规则配置方式都不一样,需要修改nginx的配置文件,并重启nginx才能生效,因此配置上需要多加小心,一不小心还会导致nginx直接不工作了。为了给用户更方便的配置nginx伪静态规则,建议使用宝塔来管理网站和伪静态。
下面以宝塔为例,演示伪静态规则的配置。

第一步,点击设置按钮,进入伪静态设置界面

20201117111004307

第二步,点击伪静态标签,切换到伪静态输入框

20201117111016378

第三步,粘贴伪静态代码,并保存

20201117111026711

nginx伪静态规则代码如下

location / {
		try_files $uri $uri/ /index.php;
}

if (!-f $request_filename){
		rewrite (.*) /index.php;