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

如何配置Apache让viewforum.php带参请求返回静态文件而非执行PHP?

解决方案

你之前的配置仅关闭了PHP解析,但Apache默认会将URL中?后的内容作为独立的查询参数处理,不会将其作为文件名的一部分匹配你归档生成的静态文件(wget会自动将带查询参数的URL保存为文件名包含?的静态文件,比如viewforum.php?f=2&start=25就是实际存在的静态文件名)。

按照以下步骤配置即可解决:

  1. 首先确保Apache已经启用mod_rewrite模块,可检查Apache主配置中是否有LoadModule rewrite_module modules/mod_rewrite.so配置项,且未被注释。
  2. 在论坛归档根目录的.htaccess文件中写入以下配置:
# 关闭PHP解析
RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off

# 强制所有.php后缀文件按HTML格式返回
AddType text/html .php

# 开启重写引擎
RewriteEngine On

# 处理带查询参数的请求:将查询参数拼接到文件名后匹配静态文件
# 注意:如果你的论坛放在站点根目录而非/forum子目录,把下面配置里的/forum删掉即可
RewriteCond %{QUERY_STRING} .+
RewriteCond %{DOCUMENT_ROOT}/forum/%{REQUEST_URI}\?%{QUERY_STRING} -f
RewriteRule ^ %{REQUEST_URI}\?%{QUERY_STRING} [L]
  1. 重启Apache后即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:15:03