使用 mod_rewrite 将 /?APP=XYZ&action=asdf&params=123 转换为 /XYZ/asdf?params=123

发布于 2025-01-07 20:02:54 字数 853 浏览 2 评论 0原文

我正在尝试设置一个 mod_rewrite 来允许以下重定向:

  1. my-domain/login =>
    my-domain/?action=login

  2. my-domain/login?param1=xyz¶m2=asdf =>
    my-domain/?action=login&param1=xyz&param2=asdf

  3. my-domain/MYAPP/login =>
    my-domain/?APP=MYAPP&action=login

  4. my-domain/MYAPP/login?param1=xyz&param2=asdf =>
    my-domain/?APP=MYAPP&action=login&params=xyz&param2=asdf

到目前为止,我在 .htaccess 文件中:

RewriteEngine On
RewriteRule ^([A-Z]*)/([a-z]*)$ ?APP=$1&action=$2 [L]

这似乎适用于场景 3 和 4,但它无法通过 $_GET在场景 1 和 2 中我的脚本的 ['action'] 值。

编辑:将 .htaccess 更改为:

RewriteEngine On
RewriteRule ^([a-z]*)$ ?action=$1 [L,QSA]
RewriteRule ^([A-Z]*)/([a-z]*)$ ?APP=$1&action=$2 [QSA]

这似乎有效。

I'm trying to setup a mod_rewrite that will allow for the following redirections:

  1. my-domain/login =>
    my-domain/?action=login

  2. my-domain/login?param1=xyz¶m2=asdf =>
    my-domain/?action=login¶m1=xyz¶m2=asdf

  3. my-domain/MYAPP/login =>
    my-domain/?APP=MYAPP&action=login

  4. my-domain/MYAPP/login?param1=xyz¶m2=asdf =>
    my-domain/?APP=MYAPP&action=login¶ms=xyz¶m2=asdf

So far I have in my .htaccess file:

RewriteEngine On
RewriteRule ^([A-Z]*)/([a-z]*)$ ?APP=$1&action=$2 [L]

This seems to work for scenarios 3 and 4 however it fails to pass the $_GET['action'] value to my script in scenarios 1 and 2.

EDIT: Changed .htaccess to:

RewriteEngine On
RewriteRule ^([a-z]*)$ ?action=$1 [L,QSA]
RewriteRule ^([A-Z]*)/([a-z]*)$ ?APP=$1&action=$2 [QSA]

This seems to work.

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

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

发布评论

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

评论(1

春风十里 2025-01-14 20:02:54

问题回答如上:

编辑:将 .htaccess 更改为:

    RewriteEngine On
    RewriteRule ^([a-z]*)$ ?action=$1 [L,QSA]
    RewriteRule ^([A-Z]*)/([a-z]*)$ ?APP=$1&action=$2 [QSA]

Question answered as above:

EDIT: Changed .htaccess to:

    RewriteEngine On
    RewriteRule ^([a-z]*)$ ?action=$1 [L,QSA]
    RewriteRule ^([A-Z]*)/([a-z]*)$ ?APP=$1&action=$2 [QSA]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文