如何在不重复框架的情况下将网页重定向到php生成的框架?

时间:2018-06-25 13:47:33

标签: php .htaccess redirect iframe

我的问题:

我有一个具有以下结构的网页:

localhost/redirect_test/umleitungs_verzeichnis/index.php

如果我转到此目录中或此文件夹下的任何地址,例如

localhost/redirect_test/umleitungs_verzeichnis/sub2/

我希望将所有站点重定向到框架中。

到目前为止我的解决方案:

第一个目录中现在有一个htaccess:

RewriteEngine On

RewriteCond %{REQUEST_URI} ^(.*)/redirect_test/umleitungs_verzeichnis/(.*)$     [NC]
# ...
RewriteRule ^(.*)$ http://localhost/redirect_test/frame_seite.php?url=$1 [L,R=301]

所以我将重定向到php-script,它将已被调用的URL放入框架中。

php脚本如下:

<?php

//receive URL via GET from htaccess
(isset($_GET["url"])) ? ($getUrl = $_GET["url"]) : ($getUrl = "");

// create path for redirection
$url = "http://localhost/redirect_test/umleitungs_verzeichnis". "/" .  $getUrl;

// generate HTML
...
$output .= "<iframe src=\"" .$url. "\" width=\"100%\"  height=\"850px\" />\r\n</iframe>\r\n\r\n";
...

// display HTML
echo $output;

?>

我的问题是重定向不会结束,因为框架中的url跳到目录中,它将被重定向到生成框架的脚本。

由于我是htaccess新手,所以我不知道该怎么办。 我想到了一条规则,如果从脚本中重定向了某条规则,但没有任何效果,它将避免重定向。

所以有人知道

  1. 打破重定向规则,所以我只被重定向了一次,或者
  2. 当我进入某个文件夹或其任何子文件夹时,如何将任何站点放入框架中。

谢谢!

1 个答案:

答案 0 :(得分:0)

我添加了

RewriteCond %{REQUEST_FILENAME} !-f

.htaccess文件中,并将其向上移动一个路径。