You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用.htaccess隐藏URL子文件夹,且规则仅对form.php生效?

解决方案:针对特定URL的Rewrite规则调整

你现在的问题是之前的Rewrite规则会匹配所有请求(包括index.php),所以我们需要把规则限定在仅form.php的请求上。可以这样修改你的.htaccess规则:

RewriteEngine On
# 仅当请求的是根目录下的form.php时,重写为folder/form.php
RewriteRule ^form\.php$ folder/form.php [L]

规则解释:

  • ^form\.php$:这个正则表达式精确匹配请求的URL路径是form.php(^表示路径开头,$表示路径结尾,\.是转义的点号——因为点号在正则里是通配符,必须转义才能匹配真实的点),这样就不会误匹配其他页面,比如index.php或者其他自定义路径。
  • [L]标记:表示这是最后一条规则,如果匹配成功就停止后续规则处理,避免不必要的匹配逻辑。

这样配置后,当用户访问http://example.com/form.php时,浏览器地址栏会保持这个URL不变,但服务器实际会加载http://example.com/folder/form.php的内容,同时完全不影响其他页面(比如index.php)的正常访问。

如果之前的两条规则(针对根目录和所有请求)还有其他业务用途,你可以保留它们,但一定要把这条针对form.php的规则放在最前面——因为Rewrite规则是按顺序执行的,优先处理精确匹配能避免冲突:

RewriteEngine On
# 优先处理form.php的精确匹配
RewriteRule ^form\.php$ folder/form.php [L]
# 原有的其他规则(如果需要保留的话)
RewriteRule ^$ folder/
RewriteRule ^(.*)$ folder/$1

内容的提问来源于stack exchange,提问作者Charis Moutafidis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:20:09