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

.htaccess(Apache)URL重写引发404错误问题求助

问题排查与修正方案

你的.htaccess配置存在几个关键问题,导致规则冲突和功能失效,以下是修正后的完整配置,以及问题说明:

修正后的.htaccess代码

# 开启重写引擎(只需一次)
RewriteEngine On

# HTTPS强制重定向(优先执行)
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://int-politics.com/$1 [R=301,L]

# 个人资料URL重写
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^profile/([^/]+)$ /profile/show-profile.php?user=$1 [L]

# 404页面处理
ErrorDocument 404 /pagenotfound.php

原配置的问题说明

  • 重复开启RewriteEngine:原配置分三次开启RewriteEngine On,虽语法允许但会打乱规则执行顺序,只需在开头开启一次即可。
  • 规则顺序错误:HTTPS重定向属于外部跳转,应放在最优先位置;个人资料的重写规则要放在404处理之前,否则请求/profile/admin会被先判定为不存在的文件/目录,直接触发404,无法执行重写。
  • 404规则冲突:原配置同时用RewriteRule和ErrorDocument处理404,且RewriteRule未加[L]标志,导致请求不存在的页面时规则会继续向下执行,最终只输出路径。保留ErrorDocument 404即可,Apache会自动处理不存在的文件/目录跳转。
  • 个人资料重写的路径问题:原配置的RewriteBase /profile/会导致规则匹配范围受限,直接用绝对路径匹配^profile/([^/]+)$更清晰,避免路径混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:27:21