使用.htaccess掩盖从一个域上的URL重定向到另一个域上的URL

问题描述 投票:0回答:0
在我们的服务器中,我们有域,“ feathback.meridian.co.nz”。 域“ surveys.consumerlink.co.nz”托管在另一台服务器上。

我们试图创建一个带有规则的.htaccess文件,该文件将重定向:

https://feedback.meridian.co.nz/scripts/dubinterviewer.dll/frames?quest =1

TO:

https://surveys.consumerlink.co.nz/scripts/dubinterviewer.dll/frames?quest =1

但仍显示“ https://feedback.meridian.co.nz/scripts/dubinterviewer.dll/frames?quest = 1”在地址栏中(即url basking)。

不时从“任务”数字可能会发生变化,因此如果可以重定向

https://feedback.meridian.co.nz/scripts/dubinterviewer.dll/frames?quest =

to

https://surveys.consumerlink.co.nz/scripts/dubinterviewer.dll/frames?quest =

“? 我试图询问双子AI如何做。 最初,我询问了有关重定向的全部URL的要求,它建议了以下代码:

RewriteEngine On RewriteCond %{HTTPS} on RewriteRule ^scripts/dubinterviewer\.dll/Frames\?quest=1$ https://surveys.consumerlink.co.nz/scripts/dubinterviewer.dll/Frames?quest=1 [P,L]

我花了很多时间搜索搜索如何进行掩盖重定向,我还可以看到,在stackoverflow中,这里有类似的线程,并且答案都指向上面的代码相同的代码,因此,据我所知,请务必使用上述代码,这应该可以使用! 但是相反,如果我尝试转到“ https://feedback.meridian.co.nz/scripts/dubinterviewer.dll/frames?quest = 1”,我得到了“ 404”error.

然后,我询问双子AI在保留“?

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^feedback\.meridian\.co\.nz$ [NC] RewriteRule ^scripts/dubinterviewer\.dll/Frames\?quest=(.*)$ https://surveys.consumerlink.co.nz/scripts/dubinterviewer.dll/Frames?quest=$1 [P,L] </IfModule>
,这仍然导致“ 404”错误。

我也问了chatcpg,它给了我这个代码:

RewriteEngine On # Enable URL masking (proxying the request) RewriteCond %{HTTP_HOST} ^feedback\.meridian\.co\.nz$ [NC] RewriteCond %{REQUEST_URI} ^/scripts/dubinterviewer\.dll/Frames$ [NC] RewriteCond %{QUERY_STRING} ^quest=(\d+)$ [NC] RewriteRule ^scripts/dubinterviewer\.dll/Frames$ https://surveys.consumerlink.co.nz/scripts/dubinterviewer.dll/Frames?quest=%1 [P,L]

,一次看起来应该有效,但是这会导致“内部服务器错误”!

现在,直到我解决此问题之前,我都使用代码:

Options +FollowSymLinks RewriteEngine on RewriteRule (.*) https://surveys.consumerlink.co.nz/$1 [R=301,L]

这使重定向的工作正常,但没有掩盖。
我在这里出错的任何想法?

Apache的重写模式仅匹配URL路径,而不包括查询字符串。在您的原始代码中,您正在尝试在图案中匹配字面的“?

要解决此问题,您需要使用检查查询字符串的重新值。另外,要掩盖URL(因此地址栏不会更改),您需要使用代理标志([P])并启用了mod_proxy.
trone此.htaccess配置:

RewriteEngine On RewriteCond %{HTTPS} on # Match the query string 'quest' parameter and capture its value RewriteCond %{QUERY_STRING} ^quest=([0-9]+)$ # Match the URI path only (without query string) RewriteRule ^scripts/dubinterviewer\.dll/Frames$ https://surveys.consumerlink.co.nz/scripts/dubinterviewer.dll/Frames?quest=%1 [P,L]

.htaccess http-redirect
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.