我在http://ex.com/web2/
有一个网站,这是我服务器中的真实路径,但我希望访问者也可以通过网址http://ex.com/web3/
访问该网站(不更改网址上的网址)浏览器),所以在环顾四周(并请求帮助)后,我将以下内容添加到.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的路径?
(有人告诉我这很难甚至不可能。)
谢谢。
答案 0 :(得分:2)
如果您加载了mod_proxy,则可以在内部代理请求。这将改变REQUEST_URI
服务器变量,但它有点类似于实现它的方式。如果这一切都发生在php脚本中会更有效率。
RewriteRule ^web3/?$ /web2/ [L,NC,P]
RewriteRule ^web3/(.+)$ /web2/$1 [L,NC,P]
只需要将P
标志添加到方括号中。