【问题标题】:Open external web-page with using htaccess and php使用 htaccess 和 php 打开外部网页
【发布时间】:2014-03-31 14:15:55
【问题描述】:

如果对我的网站的请求是这样的:

my1stdomain.com/request-1/  
my1stdomain.com/any-another-request/

它应该打开网页:

my2nddomain.com/folder/request-1.php  
my2nddomain.com/folder/any-another-request.php  

我将 php 文件放在 my1stdomain.com 的 web-root 中,名称为 referer.php

它看起来像:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} /$ [OR]
RewriteCond %{REQUEST_FILENAME} (html|php)$
RewriteCond /home3/juraj1/public_html/referer.php -f
RewriteRule ^.*$ /referer.php [L]
</IfModule>

referer.php 看起来像:

<?
    $login=preg_replace('/\//i','',$_SERVER['REQUEST_URI']);

    $html=file_get_contents('http://my2nddomain.com/folder/'.$login.'.html');

    echo $html;
?>

但它只返回没有 css 样式和图像的 html 内容

你能帮帮我吗?

【问题讨论】:

    标签: php html apache .htaccess mod-rewrite


    【解决方案1】:

    我假设 my2nddomain.com 上的 HTML 文件以相对方式链接到 css 文件/图像,例如 &lt;img src="images/picture.jpg" /&gt;。但由于 my1stdomain.com 上不存在此图像,因此浏览器找不到它。

    解决方案 1:
    使用绝对路径链接到所有图像/css 文件,例如 &lt;img src="http://my2nddomain.com/images/picture.jpg" /&gt;

    解决方案 2
    &lt;base&gt; 标签添加到 my2nddomain.com 上所有文件的 HTML 头部,如下所示:&lt;base href="http://my2nddomain.com" /&gt;。这可以通过动态更改 HTML 来实现,例如 $html = str_replace('&lt;/head&gt;','&lt;base href="http://my2nddomain.com" /&gt;&lt;/head&gt;',$html);

    还有其他解决方案,将您对第一个服务器上的 css 文件/图像的每个请求重写为第二个服务器的相应文件,但这会更复杂。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多