如何在Apache环境中配置伪静态(URL重写)?
美国、香港服务器
如何在Apache环境中配置伪静态(URL重写)?
04-07 来源:
一、Apache 伪静态 3 步搞定(宝塔面板)
第 1 步:确保 rewrite 模块已开启
宝塔 → 软件商店
找到 Apache → 设置
点 模块管理
确保 rewrite 已勾选(默认一般都是开的)
第 2 步:进入网站伪静态配置
宝塔 → 网站
你的网站 → 设置
左侧菜单 → 伪静态
第 3 步:粘贴伪静态规则(直接复制下面)
下面给你 最通用、不会出错 的伪静态规则,适用于 99% 的网站(ThinkPHP、Laravel、自建 PHP、静态网站等)。
apache
# 开启伪静态
RewriteEngine On
RewriteBase /
# 如果请求的是真实文件/文件夹,直接访问
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 所有不存在的路径都交给 index.php 处理
RewriteRule ^(.*)$ index.php [L]
粘贴 → 保存 → 重启 Apache完成!
二、如果你是这些程序,用专属规则
1. ThinkPHP 5 / 6 / 8
apache
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
2. WordPress
apache
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
3. 强制 https(http 自动跳 https)
apache
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
三、伪静态生效后效果
域名/abc → 正常访问
域名/123 → 正常访问
不再出现 404 找不到页面
不再出现 index.php?xxx 难看的路径
四、如何确认伪静态生效?
访问一个不存在的路径,如 域名/aaa
不出现 404,而是进入你的网站页面
或 F12 → Network 状态码 200
生效
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快