gpt4 book ai didi

.htaccess 重定向而不更改地址栏

转载 作者:行者123 更新时间:2023-12-02 18:53:56 26 4
gpt4 key购买 nike

我正在尝试编写 .htaccess 规则来重定向到脚本,该脚本进一步重定向到其他地方。有点像 URL 缩短器的工作原理。但是,我希望地址栏在重定向的 .htaccess 部分期间发生更改。 (脚本重定向改变位置是可以的。)

我正在使用 mod_rewrite,目前正在执行以下操作:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteBase /
RewriteRule (.+)$ "?url=$1" [L,R=301]

是否有一个标志或其他方法可以用来实现我想要做的事情?

附录:当发生重定向时,Firefox 中的地址栏不会改变,这正是我想要做的。它只改变一次以反射(reflect)终点。 Safari 每一步都会改变。有什么办法可以避免这种情况吗?

最佳答案

如果您使用R标志,您就是在告诉mod_rewrite您想要的是外部重定向,因此浏览器会被要求发出新的请求和地址栏应该相应改变。

如果没有 R 标志,就没有重定向,而是对浏览器隐藏的 Apache 内部请求重写。因此,地址栏不会改变。但是,由于显而易见的原因,您不能使用内部重定向到外部 URI。

由于您似乎无论如何都使用内部重定向,因此只需删除 R 标志即可,它应该可以工作:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.+)$ ?url=$1 [L]

关于.htaccess 重定向而不更改地址栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1304492/

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