param() 获取变量,Apache 环境下会多出一个路由变量

审核中 Thinkphp6 未结 已结 置顶 精帖
删除 置顶 取消置顶 加精 取消加精
66 0
yswl
yswl VIP3 2021-09-04 10:20:07
悬赏:60金币 编辑此贴

Apache 环境下 ,在表单提交中 使用 param() 函数获取请求变量的时候会多出一个路由变量

image

/admin/6_html 是系统自动生成的路由变量

image

解决方法一:获取指定的变量

image

输出

image

解决方法二:使用post() 方法

image

输出

image

注意,如果是需要重新编辑某条内容,会获取不到 内容id

可以在表单提交当前内容id

image

输出

image


解决方法三:删除路由变量(不推荐)

image

输出

image


解决方法四:修改 .htaccess 文件中的伪静态规则(推荐)

文件路径:

public/.htaccess


默认规则

image

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

改为

image

RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1


代码:

image

输出

image