htaccessredirect整个url作为参数

我们创build了一个iframe加载器index5.php,它将显示两个iframe,iframe1和iframe2。 iframe2的内容可以通过访问index5.php?url = iframe2url来设置。 所以,去

domain/index5.php?url=www.serverfault.com 

将加载serverfault在一个iframe和我们的代码在另一个。 我们只希望能够在我们自己的域名上使用这个来阻止XSS,所以我们确保index5.php只允许我们的域名。

我们还想从所有的请求到我们的wordpress网站

 domain/page 

 domain/index5.php?url=http://domain/page 

但是,如果我们使用

 RewriteCond %{REQUEST_URI} !^/index5\.php$ RewriteCond %{HTTP_HOST} ^domain$ RewriteRule ^(.*)$ http://domain/index5.php?url=http://domain/$1 [R=301,L] 

有一个无限的redirect。 我们如何防止这一点?

当你在一个.htaccess文件中进行重写(而不是在apacheconfiguration中)时, 根据apache文档 ,包含该文件的目录的path前缀被剥离了。

这意味着重写条件不应该包含前导/ 。 相反,它应该阅读

 RewriteCond %{REQUEST_URI} !^index5\.php$