.htaccess - 路由到所选目的地但更改浏览器网址

时间:2009-12-25 01:59:43

标签: apache .htaccess mod-rewrite url-rewriting

问题: 我想接受原始请求。说吧,/ IWantToGoHere / index.php 但我想回到浏览器/GoHere/index.php

要明确:
我实际上想将原始请求位置发送到请求的脚本,但是,我想将用户的浏览器URL返回到另一个目的地。

代码:

RewriteEngine on
RewriteRule ^(.*)IWantToGoHere\/\.php$  GoHere/index.php [NC,C]
RewriteRule ^GoHere/index.php$ GoHere/index.php [R,NC]

注意: 我意识到上面的代码不起作用。我尝试了很多不同的电话。昨天我花了很多时间尝试每一个聪明的解决方案,我可以从我有限的mod_rewrite知识库中解脱出来。基于我对mod_rewrite的理解,我不认为它能够做到。我理解它不是预处理的目的。至少不是我在Apache网站上找到的任何东西。我被告知,如果我能想到它,那就可以做到:)我想知道是否有人有想法如何让它发挥作用。

你为什么要这样做?: 因为我愿意。不,我希望将URL返回给用户进行进一步处理。

weez

1 个答案:

答案 0 :(得分:2)

如果我正确理解了这个问题,要完成此操作,您需要从/IWantToGoHere/index.php发送一个标题,一旦脚本执行完毕,该标题会重定向到/GoHere/index.php。也就是说,如果您希望Apache仍然调用IWantToGoHere,但返回GoHere。所以在处理IWantToGoHere脚本的过程结束时:

header('Location: /GoHere/Index.php');

哪个会正确重定向。