Mod 重写和变量传递问题

发布于 2025-01-07 13:51:34 字数 423 浏览 2 评论 0原文

这是我网站的mod重写规则
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L]

我正在处理 index.php 中的所有内部页面
现在我想通过url传递参数。
假设我有一个像 site.com/settings 这样的页面 现在我想传递像 site.com/settings?p=1 这样的参数

,这不起作用,但 site.com/settings&p=1 正在工作。
另一件事是每当我在设置页面上包含像 site.com/settings?p=1 这样的任何网址时。

它开始显示奇怪的行为,例如 site.com/settings 开始重定向到 site.com/settings?page=settings

This is the mod rewrite rule of my site
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L]

I am handling all inner pages from index.php
Now i want to pass parameter through url.
Suppose i have a page like site.com/settings
Now i want to pass parameter like site.com/settings?p=1

This is not working but site.com/settings&p=1 is working.
Another thing is whenever i include any url like site.com/settings?p=1 on settings page.

It starts to show strange behavior like site.com/settings starts redirecting to site.com/settings?page=settings

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

晨曦÷微暖 2025-01-14 13:51:34

[L]更改为[L,QSA]。这样 apache 就会添加原始的查询字符串,而不是完全替换它。

Change [L] to [L,QSA]. That way apache adds the original querystring, instead of replacing it entirely.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文