Hostgator网站.htaccess引发403错误,需实现无public目录的美化URL
解决Hostgator网站.htaccess美化URL的403错误问题
问题分析
当前访问traversymvc.thinkcomputationally.org/public可正常运行,但直接访问根域名下的路径(如/pages)出现403错误,结合你提供的.htaccess代码,问题出在这几点:
- RewriteBase拼写错误:你写的
/traversymvc.thinkcomutationally.org少了字母p,正确路径应为/traversymvc.thinkcomputationally.org - 规则未指向public目录:原规则没有将请求转发到public下的index.php,服务器找不到对应文件触发403
- 可能存在目录权限问题,需确保相关文件/目录权限符合服务器要求
修正后的.htaccess代码(放在网站根目录)
<IfModule mod_rewrite.c> Options -Multiviews RewriteEngine On # 修正拼写错误的RewriteBase RewriteBase /traversymvc.thinkcomputationally.org # 检查请求的文件/目录是否存在,不存在则转发到public下的入口文件 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ public/index.php?url=$1 [QSA,L] </IfModule>
额外检查项
- 文件权限:将根目录的.htaccess权限设为
644,public目录权限设为755,避免服务器因权限限制拒绝访问 - 模块确认:联系Hostgator客服确认服务器已启用
mod_rewrite模块(大部分Hostgator主机默认开启,可核实确保) - 缓存清理:修改.htaccess后,清空浏览器缓存或用无痕模式测试,避免旧规则干扰
内容的提问来源于stack exchange,提问作者Diggee17
相关产品推荐
相关产品推荐

