0

我试图在重写后隐藏 URL 的一部分。

下面是我在 .htaccess 中使用的重写规则,当有人尝试访问 abc.com 时,这基本上会执行http://example.com/index.php-someextrainfohere 。我想要实现的是,我想在重写之后隐藏“-someextrainfohere”部分。从我的感觉来看,我无法通过第二个重写规则来做到这一点。知道我该怎么做吗?

RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://example.com/index.php-someextrainfohere

谢谢。

4

1 回答 1

0

嗯,有一个核心网站托管我的主要脚本。我有多个子站点,它们充当这个核心站点的代理。当有人试图通过子站点访问时,我试图使用一些额外的变量将其转发到核心站点,这些变量允许我跟踪一些数据(每个子站点都不同),这就是我不想要的暴露给我的访客。

在这种情况下,无论如何您都必须进行标头重定向,并且您可以在解析附加信息后在 PHP 脚本中执行此操作。

在 index.php 中:

(parse the extra info)

header("location: http://www.xyz.com");
die();

理论上你也可以使用 HTTP_REFERER 变量而不是添加额外的信息,但它不是 100% 可靠的,因为它可以在客户端关闭。

于 2013-03-14T12:28:05.730 回答