gpt4 book ai didi

PHP Mod_rewrite

转载 作者:行者123 更新时间:2023-12-04 05:53:05 25 4
gpt4 key购买 nike

我是 mod_rewrite 的新手,我正在尝试将我的网址转换为:

website.com/profile.php?user=andy

到以下几点:
website.com/user/andy

这是我的以下代码:
RewriteEngine On
RewriteRule ^user/([A-Za-z0-9]+)/?$ profile.php?user=$1 [NC,L]

我进行了广泛的研究,这似乎是正确的方法,但它没有重定向到我想要的地方,它只是重定向到这个:
http://website.com/profile.php?user=andy

这意味着我必须做错什么......

有人可以帮我从这里出去吗?我将不胜感激任何提示。

最佳答案

如果你想

  • http://website.com/profile.php?user=andy ->301-> http://website.com/user/andy
  • http://website.com/user/andy意味着 http://website.com/profile.php?user=andy

  • 它们是 2 种不同的东西,你需要 2 条规则:
    RewriteEngine On

    RewriteCond %{QUERY_STRING} ^user=([A-Za-z0-9]+)
    RewriteRule ^profile.php /user/%1? [R=301,L]

    RewriteRule ^user/([A-Za-z0-9]+)/?$ profile.php?a=b&user=$1 [L]

    第一个将 301(永久移动)重定向到漂亮的 url。
    第二个将允许您的应用程序理解漂亮的 url。

    每当您更改站点的 url 方案时,您都应该注意现有链接。因此,第一条规则是必需的/一个好主意。但是,在使用您自己的应用程序时,您不应该需要第一条规则。如果您自己的应用程序生成指向 profile.php?user=me 的链接 - 更改您的应用程序代码。

    关于PHP Mod_rewrite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9836110/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com