gpt4 book ai didi

.htaccess - 重写 url 以隐藏真实页面路径

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

我最近在 SO 的帮助下解决了我的 htaccess rewriterule 问题:

Reuse subdomain in a rewrite rule

结果是当有人进入时

whatever.example.com/anypage

在地址栏中,htaccess 会自动重定向到
whatever.example.com/somepath/whatever/anypage

我希望做的是找到一种方法来显示 whatever.example.com/anypage在地址栏中,内容为 whatever.example.com/somepath/whatever/anypage显示。

在我之前提到的帖子中,Jon Lin 清楚地提到了以下几点:

redirects always change what's in the browser's URL address bar



但是,我知道一些非常频繁的 url 重写案例会显示在地址栏中,例如:
example.com/article-1-15

但实际上显示的内容
example.com/somepath/somepage.php?article=1&otherparam=15

这如何适用于我的案例?我真的希望有一个小网址,但似乎我错过了一些东西。

最佳答案

你可以尝试这样的事情:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/([^/]+)$
RewriteRule .* http://whatever.example.com/somepath/whatever/%1 [L]

它将映射:
http://whatever.example.com/anypage
到资源:
http://whatever.example.com/somepath/whatever/anypage
始终显示在浏览器的地址栏中:
http://whatever.example.com/anypage
更新

如果是动态的并且在替换 URI 中是相同的,这里是另一个选项:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ([^/]+)\.example\.com.*
RewriteCond %{REQUEST_URI} ^/([^/]+)$
RewriteRule .* http://%1.example.com/somepath/%1/%2 [L]

只要替换路径中的“任何”都相同,这将起作用。如果不是,则必须对最后一个“任何”进行硬编码,如下所示:
RewriteRule .*  http://%1.example.com/somepath/whatever/%2 [L]

没有其他方法,因为传入的 URL 没有它。

关于.htaccess - 重写 url 以隐藏真实页面路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14070635/

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