如何用.htaccess从URL中移除pages文件夹路径
解决.htaccess URL路径优化问题:隐藏pages目录并保留扩展名移除功能
你需要调整现有.htaccess规则,同时实现两个需求:把URL里的pages目录隐藏,并且保留原来移除.php/.html扩展名的功能。直接用下面的完整代码替换你现有的内容即可:
RewriteEngine on # 把带/pages/的旧URL永久重定向到新URL(比如 /pages/contact → /contact) RewriteCond %{THE_REQUEST} /pages/(\S+) [NC] RewriteRule ^pages/(.+) $1 [R=301,L,NC] # 保留原有移除.php扩展名的功能,现在指向pages文件夹内的文件 RewriteRule ^(themes|order-now|submissions|faq|contact)$ pages/$1.php [NC,L] # 保留原有移除.html扩展名的功能,现在指向pages文件夹内的文件 RewriteRule ^(home|faq)$ pages/$1.html [NC,L]
规则说明:
- 重定向规则:当用户访问旧的
/pages/xxx路径时,会自动跳转到/xxx,301永久重定向能确保搜索引擎更新索引,也避免用户访问旧链接出错。 - 修改后的扩展名规则:原来的规则是直接在网站根目录找对应文件,现在调整为去
pages文件夹里查找,这样你访问zebrafishweb/contact时,服务器实际加载的是pages/contact.php,同时URL里不会显示pages和.php后缀。
内容的提问来源于stack exchange,提问作者sgledhill
相关产品推荐
相关产品推荐

