【问题标题】:Rewriting subdomain for local environment via htaccess通过 htaccess 为本地环境重写子域
【发布时间】:2014-06-07 10:35:28
【问题描述】:

我需要使用 htaccess 为本地环境重写子域。

我已在本地启用虚拟主机及其工作。

重写

<link href="http://cdn.example.com/css.css" rel="stylesheet" type="text/css" />

<link href="http://cdn.localhost/css.css" rel="stylesheet" type="text/css" />

我正在尝试这种方式,但它不起作用

Rewritecond %{HTTP_HOST} ^cdn.example.com [NC]
Rewriterule ^(.*)$ cdn.localhost/$1 [L,NC,QSA]

我只需要把http://cdn.example.com改写成http://cdn.localhost

http://localhost 位于D:\wamp\www\example

http://cdn.localhost 位于D:\wamp\www\cdn

请查看并建议任何可能的方法来做到这一点

谢谢。

【问题讨论】:

    标签: apache .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    您在目标 URI 中缺少 http://,一旦您在目标 URL 中使用 http://R 标志也将被隐含。

    以下规则应该有效:

    Rewritecond %{HTTP_HOST} ^cdn\.example\.com$ [NC]
    Rewriterule ^ http://cdn.localhost%{REQUEST_URI} [L,R]
    

    【讨论】:

    • Not working 不提供任何信息。始终提供详细信息。你是什​​么网址?你得到了什么错误?这是您的 .htaccess 中的第一条规则吗?
    • 它没有重定向,并且日志中没有错误。我有一个文件http://localhost/example/test4.php,其中有像&lt;link href="http://cdn.example.com/css.css" rel="stylesheet" type="text/css" /&gt; 这样的css 链接,但没有应用css,我可以直接在http://cdn.localhost/css.css 访问css,但是当我转到这个http://cdn.example.com/css.css url 时,它不会重定向到http://cdn.localhost/css.css
    • 这也是 .htaccess 中的第一条也是唯一一条规则
    • 对于cdn.example.comDocumentRoot 是否与localhostDocumentRoot 相同? css.css.htaccess 在同一个地方吗?
    • 使用此代码&lt;?php phpinfo(); ?&gt; 创建一个名为info.php 的文件,然后打开http://cdn.example.com/info.php 以检查它的DOCUMENT_ROOT 值是多少。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 2011-11-04
    • 1970-01-01
    • 2011-05-15
    • 2011-02-04
    • 2014-03-17
    • 1970-01-01
    相关资源
    最近更新 更多