0

我有一个网站,http://ex.com/web2/这是我服务器中的真实路径,但我希望访问者也能够通过 URL 访问该网站http://ex.com/web3/(无需更改浏览器上的 URL),所以在环顾四周(并寻求帮助)后,我将以下内容添加到我的.htaccess

<IfModule mod_rewrite.c>
    Options +FollowSymLinks -MultiViews
    RewriteEngine On
    RewriteBase /
    RewriteRule ^web3/?$ /web2/ [L,NC]
    RewriteRule ^web3/(.+)$ /web2/$1 [L,NC]
</IfModule>

不会更改浏览器 URL 的“静默”重定向工作正常,但如果我在 PHP 中print $_SERVER[REQUEST_URI]得到用户放置在浏览器上的 URL,/web3/而不是/web2/.

有什么方法.htaccess可以“伪造”发送到 PHP var 的路径?(有人告诉我这很难,甚至是不可能的。)

谢谢你。

4

1 回答 1

2

如果你加载了 mod_proxy,你可以在内部代理请求。这将改变REQUEST_URI服务器变量,但这是一种绕行的方式。如果这一切都发生在 php 脚本中,效率会高得多。

RewriteRule ^web3/?$ /web2/ [L,NC,P]
RewriteRule ^web3/(.+)$ /web2/$1 [L,NC,P]

只需要将P标志添加到方括号中。

于 2013-09-14T19:26:59.313 回答