gpt4 book ai didi

.htaccess 重定向美化URL/隐藏结构

转载 作者:行者123 更新时间:2023-12-02 01:48:55 27 4
gpt4 key购买 nike

我的目标是获取以下格式的 URL

www.mydomain.com(/dir1)?(/dir2)?/(index.php|login.php)((:?\?code=)[a-Z0-9]+)?

强制浏览器 URL 更改为:

www.mydomain.com/(home|welcomepage)/code/%1/

一个更简单的例子是:

 www.mydomain.com/dir1/dir2/index.php?code=khkdh239

更改为:

 www.mydomain.com/home/code/khkdh239/

内部重定向至

 www.mydomain.com/dir1/dir2/index.php?code=khkdh239

这是我的众多尝试之一;

#RewriteCond %{QUERY_STRING} !^$  # I was experimenting with simple urls, no ?code=....
#RewriteRule .? - [S=2]
RewriteRule ^(?:dir1/)?(?:dir2/)?(?:login.php)$ /welcomepage/? [R=301,NC]
RewriteRule ^.*welcomepage.*$ code/login.php? [QSA,L]

基于我的尝试结果的观察:

  1. 规则

    RewriteRule ^welcomepage/$ code/login.php? [QSA,L]

    不重定向,所以我使用了^.*welcomepage.*$

  2. 规则

    RewriteRule ^(?:dir1/)?(?:dir2/)?(?:login.php)$ /welcomepage/? [R=301,NC,L]
    RewriteRule ^.*welcomepage.*$ code/login.php? [QSA,L]

    重定向到 www.domain.com/welcomepage/ 但内部重定向失败。

  3. 规则

    RewriteRule ^(?:dir1/)?(?:dir2/)?(?:login.php)$ /welcomepage/? [R=301,NC]
    RewriteRule ^.*welcomepage.*$ code/login.php? [QSA,L]

    重定向到第二个链接,但不重定向到第一个链接。

  4. 我在站点配置中添加了 RewriteLog文件设置,但它似乎不起作用。
  5. 在某些时候,重定向可以正常工作,但文件上传等失败(POST 操作)。

问题:

  1. 有谁知道如何实现隐藏重定向,而不丢失文件上传等功能。
  2. 如果没有,有谁知道如何做正确设置重定向日志,以便我可以调试重定向效率更高?

PS:我知道堆栈溢出有多个问题,我已经仔细研究过这些问题以及 .htaccess 重定向手册,但似乎总是存在一些问题。

提前谢谢大家。

最佳答案

要将您的网址重定向到漂亮的网址,您需要检查 %{THE_REQUEST} 变量:

RewriteCond %{THE_REQUEST} GET\ (?:/dir1)?(?:/dir2)?/index\.php\?code=([^&]+) [NC]
RewriteRule ^index\.php$ /home/code/%1/ [R=301,L]

接下来,您希望友好的 URL 在内部寻址其他一些脚本:

RewriteRule ^home/code/([^/]+)/?$ /dir1/dir2/index.php?code=$1 [NC,L]

关于.htaccess 重定向美化URL/隐藏结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32675240/

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