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

树莓派Web服务器配置.htaccess去除URL后缀出现404问题求解

问题根因说明

从STRATO托管空间迁移到树莓派本地服务器后出现404错误,核心原因是树莓派的Web服务默认未开启重写模块和.htaccess配置支持,和你写的重写规则本身没有直接关联。
你遇到的404错误截图如下:
Raspbian服务器未找到资源

前置配置检查(Apache服务器适用,大部分树莓派默认部署Apache)
  • 启用rewrite重写模块
    执行终端命令:
    sudo a2enmod rewrite
    sudo systemctl restart apache2
    
  • 开启站点目录的.htaccess支持
    编辑Apache默认站点配置文件:
    sudo nano /etc/apache2/sites-available/000-default.conf
    
    找到对应你网站根目录的<Directory>配置段(默认路径为<Directory /var/www/html>),将其中的AllowOverride None修改为AllowOverride All,修改后示例:
    <Directory /var/www/html>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Require all granted
    </Directory>
    
    保存退出后重启Apache生效:
    sudo systemctl restart apache2
    
  • 确认.htaccess文件权限正确
    执行以下命令设置权限,避免权限不足导致规则不生效,路径替换为你自己的网站根目录路径:
    sudo chown www-data:www-data /var/www/html/.htaccess
    sudo chmod 644 /var/www/html/.htaccess
    
可用的后缀隐藏重写规则

完成前置配置后,使用以下.htaccess配置即可同时实现.html、.php、.htm后缀的隐藏,同时兼容旧带后缀链接自动跳转到无后缀地址:

RewriteEngine On

# 带后缀的链接自动跳转到无后缀地址
RewriteCond %{THE_REQUEST} /([^.]+)\.(html|htm|php)\s [NC]
RewriteRule ^ /%1 [L,R=301,NC]

# 无后缀地址内部映射到对应后缀文件
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
# 优先匹配php文件
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L,NC]
# 其次匹配html文件
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html [L,NC]
# 最后匹配htm文件
RewriteCond %{REQUEST_FILENAME}.htm -f
RewriteRule ^(.*)$ $1.htm [L,NC]
若使用Nginx服务器的配置方案

如果你树莓派上部署的是Nginx而非Apache,Nginx本身不支持.htaccess文件,需要直接修改Nginx站点配置,在server块中添加以下规则:

# 带后缀链接301跳转至无后缀
rewrite ^(/.*)\.html$ $1 permanent;
rewrite ^(/.*)\.php$ $1 permanent;
rewrite ^(/.*)\.htm$ $1 permanent;

location / {
  try_files $uri $uri/ $uri.html $uri.php $uri.htm =404;
}

修改后重启Nginx生效:

sudo systemctl restart nginx
验证方法

修改完成后清空浏览器缓存,或者使用浏览器隐身窗口访问测试:

  1. 访问你的域名/test.html会自动跳转到你的域名/test
  2. 访问你的域名/test会正常返回对应文件内容,不会出现404

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:45:03