如何从子域Web地址引用主域目录

时间:2013-09-24 18:14:33

标签: php html asp.net

考虑我的域名是www.example.com

如果在php / html文件中使用 /images/sample.jpg 之类的路径,它实际上是指 www.example.com/images/sample.jpg < / p>

同样,如果我为 www.subdomain.example.com

做同样的事情
  

/images/sample.jpg - &gt;它指的是   万维网。的子域 .example.com的/图像/ sample.jpg

但是我想引用主域中的图片,不用在子域网页中提供完整的网址。

我的主要域名文件是缩写: root / www /

我的子域名文件保存在: root / public_html / admin /

我可能稍后更改网址..所以我不想在我的代码中硬编码完整的网址。

4 个答案:

答案 0 :(得分:1)

你只是想使用HTML吗?如果您使用JavaScript,您可以以编程方式创建子域。你不想指定完整的网址是什么原因?

编辑:

你可以做到的一种方法是使用javascript。

如果您在文本开头为域设置变量:

<html>
<head>
<script>
var webaddr = "www.example.com";
</script>
</head>

如果要编写实际链接,请使用此代码:

<body>
<img src="<script>document.write(webaddr)</script>/images/sample.jpg">
</body>
</html>

然后,您可以在移动域时更改变量中的域。那会有用吗?

答案 1 :(得分:1)

如果您可以使用PHP或ASP,则可以使用变量(或常量)作为要使用的主机名的占位符。在全局配置文件中设置该变量,以便它可以在任何地方访问。

这是一个使用常量的PHP示例:

<?php
define( 'HOST', 'www.example.com' );
?>

然后像这样使用它:

<img src="<?php echo HOST ;?>/images/sample.jpg">

然后,您可以随时更改首选主机名,您只需更新常量。

答案 2 :(得分:1)

此代码将检测URL并添加指定的子域:

      <script>
            var subdomain = "subdomain"; //change this variable to match your subdomain

            var webaddr = (document.URL); //This gets the current URL
            var newURL = (webaddr.substring(0, 7) + (subdomain) + "." + (webaddr.substring(7))); //This creates the new URL with the subdomain added
        </script>

    Old link:
        <a href="<script>document.write(webaddr)</script>/images/sample.jpg">"<script>document.write(webaddr)</script>/images/sample.jpg"</a>

        <br>
New link:
        <a href="<script>document.write(newURL)</script>/images/sample.jpg">"<script>document.write(newURL)</script>/images/sample.jpg"</a>

请参阅http://jsfiddle.net/wFMzx/2/

答案 3 :(得分:0)

看起来你想要的东西就像apache mod_rewrite那样,将一种类型的网址重定向到另一种网址

例如,当您提供类似

/maindomain/images/someimage.jpg 

将被视为

www.subdomain.example.com/maindomain/images/someimage.jpg

将其重定向到

www.example.com/images/someimage.jpg

Micronovae似乎有一个名为mod_rewrite的mod看起来像apache mod_rewrite

然后您可以在www.subdomain.example.com网站上使用以下内容

RewriteRule ^/maindomain/images/(.*)$ http://www\.example\.com/images/$1 [R=301,L]

您必须购买Micronovae mod,您可以尝试使用http://www.iis.net/downloads/microsoft/url-rewrite,但它可能有不同的语法来进行重写