【问题标题】:mod_rewrite rule to use the CSS from root web folder in a subdomainmod_rewrite 规则以使用子域中根 Web 文件夹中的 CSS
【发布时间】:2011-01-14 12:42:50
【问题描述】:

我的根目录已经拥有我需要的所有 css 和图像文件

  • www.example.com(我的域)
  • www.example.com/css/style.css(我的风格)

在我的主机上,我的子域必须位于一个文件夹中

root folder 
  public_html/
    index.php
    css/
      style.php
  subdomains/
      admin/
        .htaccess
        index.php

如何在我的子域中使用 mod_rewrite 将 css 请求重定向到我的根文件夹?

最终解决方案

谢谢!我使用了Shikhar 的答案并将其修改为也适用于图像和 js。

  RewriteCond %{HTTP_HOST} admin.example.com
  RewriteCond %{REQUEST_URI} [css|images|js]/(.*)\.(.*)
  RewriteRule (.*) http://www.example.com%{REQUEST_URI} [R=301,NC,L]

【问题讨论】:

    标签: apache mod-rewrite subdomain


    【解决方案1】:

    RewriteCond %{HTTP_HOST} xyz.example.com

    RewriteCond %{REQUEST_URI} css/style.css

    重写规则 (.*) http://www.example.com%{REQUEST_URI} [R=301,NC,L]

    这需要重定向。

    【讨论】:

      【解决方案2】:

      如果您有权访问该框,为什么不创建一个从子域文件夹到根文件夹的符号链接。您应该可以通过文件管理器或通过盒子上的 shell 提示来执行此操作。

      【讨论】:

      • 这很好,因为它的 cpu 使用率较低,但维护起来很麻烦,特别是在添加服务器时。
      • @johnco:这就是 sh/phing 脚本的用途 :-)
      • 没有提到这是否会部署到很多服务器上。但是,作为添加子域的一部分,它可以在盒子上的脚本中完成。您甚至可以在 PHP 代码中使用ln ../public_html/css 将其作为设置的一部分在 PHP 代码中进行。可能想在调用无数次之前实际检查目录是否存在;)
      • 奇怪,PHP 反勾号并没有出现在该评论中。那应该围绕我列出的命令。
      • 您应该能够通过 PHP 创建符号链接。我创建了一个非常简单的 PHP 脚本来解决与您在我的最后一个共享托管服务器上完全相同的问题(否则无法访问)。查看 symlink() 函数 - php.net/manual/en/function.symlink.php
      猜你喜欢
      • 2012-05-30
      • 2011-12-01
      • 1970-01-01
      • 2011-11-16
      • 2016-01-19
      • 2014-07-15
      • 2014-12-31
      • 2019-08-19
      • 1970-01-01
      相关资源
      最近更新 更多