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

求助:配置.htaccess实现带log参数的URL伪静态重写

问题分析与解决方案

你的Rewrite规则存在语法和逻辑错误,导致无法生效:

  • 若.htaccess放在/paste/目录下,规则匹配时不需要包含/paste/前缀(.htaccess作用范围是当前目录及子目录,匹配的是相对路径)
  • 正则表达式语法错误:^应在匹配模式最开头,原规则/paste/^的写法完全错误;同时括号内表达式的*$顺序颠倒,斜杠位置也不对

正确规则(分两种场景)

场景1:.htaccess放在/paste/目录下(推荐)

直接匹配当前目录下的请求路径,规则如下:

RewriteEngine On
# 排除真实存在的文件和目录,避免影响index.php等文件
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 匹配字母数字组成的路径,映射为log参数
RewriteRule ^([a-zA-Z0-9]+)/?$ log.php?log=$1 [QSA,L]

场景2:.htaccess放在网站根目录下

需要指定/paste/前缀,规则如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^paste/([a-zA-Z0-9]+)/?$ paste/log.php?log=$1 [QSA,L]

规则说明

  • RewriteCond %{REQUEST_FILENAME} !-f 和 RewriteCond %{REQUEST_FILENAME} !-d:仅对不存在的文件/目录重写,避免覆盖真实文件
  • ^([a-zA-Z0-9]+)/?$:匹配字母数字组成的路径,末尾/?允许路径带或不带斜杠(两种形式都能生效)
  • [QSA]:保留原请求中的其他查询参数(如果有)
  • [L]:匹配后不再执行后续规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:45:40