我想用 htaccess 使我的长参考链接动态化

Posted

技术标签:

【中文标题】我想用 htaccess 使我的长参考链接动态化【英文标题】:I want to make my long reference link dynamic with htaccess 【发布时间】:2021-12-10 11:14:52 【问题描述】:

首先,我有一个带有 2 个参数的链接;

http://localhost/project/home.php?SK=2&referance=1

?SK=2 是我的第一个参数,&reference=1 是我的第二个参数。 SK=2 参数在 php 文件中绘制我的文件,reference=1 参数将 get 方法中的值打印到我的注册页面。我想要的是用 htaccess 把这个链接放在下面的格式中

http://localhost/project/register?referance=1

之前做的链接带了我的注册页面,现在想带参考码,可惜没有。

我之前用过的Htaccess代码;

RewriteRule ^register$ home.php?SK=2 [NC,L]

【问题讨论】:

您在示例网址中使用了referance,但在说明中使用了reference 【参考方案1】:
RewriteRule ^register$ home.php?SK=2 [NC,L]

您只需将QSA(查询字符串附加)标志添加到您现有的规则中。

例如:

RewriteRule ^register$ home.php?SK=2 [QSA,NC,L]

现在这会将/register 重写为/home.php?SK=2 /register?referance=1/home.php?SH=2&referance=1

参考:

http://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_qsa

【讨论】:

你说的没用 “没有用”是什么意思?究竟发生了什么?这会重写您在问题中发布的示例。你的.htaccess 文件中有其他指令吗?暂时将 R 标志添加到规则中 - 现在会发生什么? 还是不行。我想知道我的 htaccess 链接是否有问题; RewriteRule ^register$ home.php?SK=2 [QSA,NC,L,R] substitution 字符串中包含一个斜杠前缀:RewriteRule ^register$ /home.php?SK=2 [QSA,NC,L,R] - 这只是为了调试而临时使用的。 成功了!我错误地在服务器上编辑了我的文件,现在我编辑了我的本地服务器并且它工作了。太感谢了。有用的链接; RewriteRule ^register$ home.php?SK=2 [QSA,NC,L]

以上是关于我想用 htaccess 使我的长参考链接动态化的主要内容,如果未能解决你的问题,请参考以下文章

如何使我的表格根据年份动态变化?

如何使用 .htaccess 检测浏览器

我想用 .htaccess 禁用目录而不是子目录的访问

测试未发布应用的 Firebase 动态链接

.htaccess 403 禁止排除

在任何逻辑。在系统动态中。我想用 if-else