NGINX无跳转URL重写:将指定PHP页面映射为HTML路径
这事儿好办!不用跳转也不用真的创建se_connecter.html文件,靠URL重写就能实现内部映射,我给你分两种最常用服务器的方案:
Apache服务器解决方案
- 先确认你的Apache已经开启了
mod_rewrite模块(这是重写功能的核心,大部分主机默认是开着的,如果没开得手动启用下)。 - 在网站根目录下新建或者修改
.htaccess文件,把下面的规则加进去:
RewriteEngine On # 当用户访问/se_connecter.html时,内部悄悄映射到/Connexion.php RewriteRule ^se_connecter.html$ Connexion.php [L]
- 简单说下规则:
RewriteEngine On是打开重写引擎;^se_connecter.html$精准匹配用户请求的路径;Connexion.php是服务器实际要调用的文件;[L]表示匹配到这条就停止后续规则,确保是内部映射,浏览器地址栏不会变,完全满足你的需求。
Nginx服务器解决方案
- 找到你网站对应的Nginx配置文件,一般在
/etc/nginx/sites-available/或者/etc/nginx/conf.d/目录里。 - 在
server代码块中添加下面的规则:
location = /se_connecter.html { rewrite ^ /Connexion.php last; # 也可以用try_files,效果一样: # try_files $uri /Connexion.php; }
- 解释下:
location = /se_connecter.html是精准匹配这个请求路径;rewrite ^ /Connexion.php last会让服务器内部把请求转到Connexion.php,浏览器地址栏完全不会变化;用try_files的话,逻辑是检查se_connecter.html不存在,就内部跳转到指定文件,也是无跳转的内部映射。
最后别忘了
配置完之后,记得重启服务器服务生效:
- Apache:
sudo systemctl restart apache2(Linux系统) - Nginx:
sudo systemctl restart nginx(Linux系统)
另外要确保配置文件的权限没问题,比如.htaccess要让Apache能读取,Nginx配置文件权限正确。
内容的提问来源于stack exchange,提问作者user6221550
相关产品推荐
相关产品推荐

