通过GoDaddy cPanel上传网页后需加.html才能访问的问题咨询
为什么GoDaddy cPanel上传网页后必须加.html才能访问?
别慌!你上传网页的操作大概率没出错——这种必须手动加.html后缀才能访问的情况,本质是GoDaddy服务器的URL重写配置没生效,和你上传文件的过程没啥关系。
核心原因拆解
默认情况下,GoDaddy的cPanel服务器不会自动把/about这类不带后缀的请求,映射到对应的about.html文件。只有当你明确输入完整的.html后缀时,服务器才能准确找到对应的文件。这不是你上传操作的问题,是服务器默认的URL解析规则限制。
两种快速解决方法(都在cPanel里操作)
方法1:用cPanel自带的「URL重写」工具配置规则
- 登录你的GoDaddy cPanel面板,在「高级」分类里找到**「URL重写」**工具。
- 点击「添加规则」,选择「重写规则」,然后把下面的代码粘贴到规则框里:
这段规则的作用是:如果请求的路径不是目录,且对应的RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.html -f RewriteRule ^(.*)$ $1.html [L].html文件确实存在,就自动把不带后缀的请求转发到带.html的文件。 - 保存规则后,直接访问
你的域名/about(对应你上传的about.html),应该就能正常打开了。
方法2:手动创建/修改.htaccess文件
如果找不到「URL重写」工具,也可以直接操作网站根目录的.htaccess文件:
- 打开cPanel的「文件管理器」,进入网站根目录(一般是
public_html文件夹)。 - 如果已经有
.htaccess文件,右键选择「编辑」;如果没有,新建一个名为.htaccess的文件(注意文件名开头有个点)。 - 把下面的代码粘贴进去:
RewriteEngine On # 自动映射不带.html的请求到对应文件 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^\.]+)$ $1.html [NC,L] - 保存文件后,刷新浏览器测试即可。
额外小提醒
- 如果你的网站里有PHP文件(比如
index.php),可以在规则里补充对应的映射,或者确保cPanel的「默认文档」设置里包含index.php(默认一般已经配置好了)。 - 如果你用的是WordPress这类CMS,
.htaccess里可能已有其他规则,别直接覆盖,把上面的规则添加到现有规则的末尾就行。
内容的提问来源于stack exchange,提问作者brihep
相关产品推荐
相关产品推荐

