如何用.htaccess RewriteRule移除URL的php路径?求学习建议
当然可行!我来帮你搞定这个URL重写需求
首先,你需要在/example/目录下创建(或修改).htaccess文件,添加以下规则:
# 开启重写引擎 RewriteEngine On # 确保请求的/admin/不是实际存在的文件或目录 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # 将请求的/admin/路径转发到/php/admin/ RewriteRule ^admin/(.*)$ php/admin/$1 [L]
简单解释下这些规则:
RewriteEngine On:开启Apache的mod_rewrite模块,这是重写功能的基础- 两条
RewriteCond是为了避免冲突:如果/example/admin/本身是真实存在的文件夹或文件,就不执行重写,优先访问真实资源 RewriteRule:把以admin/开头的请求,内部转发到php/admin/路径,[L]表示这是最后一条规则,匹配后不再往下执行
注意事项:
- 确保你的Apache服务器已经启用了mod_rewrite模块(XAMPP/WAMP默认是开启的,要是没开的话需要在httpd.conf里启用)
- 确认
/example/目录的AllowOverride设置为All,这样.htaccess的规则才能生效
.htaccess优质学习渠道建议
- Apache官方mod_rewrite文档:这是最权威的资料,涵盖所有指令、参数和应用场景,虽然是英文,但啃下来能彻底搞懂底层逻辑
- 基础分步教程:先从「隐藏.php后缀」「简化动态URL」这类简单案例入手,逐步掌握
RewriteEngine「RewriteCond」「RewriteRule」这三个核心指令的用法 - 本地实战测试:用XAMPP/WAMP搭个本地环境,写小规则反复测试,遇到问题去看Apache的错误日志(一般在服务器的logs目录下),日志会告诉你规则哪里出问题
- Stack Overflow社区:搜
.htaccess相关问题,很多常见场景(比如URL重写、HTTPS强制跳转、防盗链)都有成熟的解决方案,也可以自己提问求助
内容的提问来源于stack exchange,提问作者Brian Antiqueña
相关产品推荐
相关产品推荐

