【问题标题】:htaccess redirect to wamp local addresshtaccess 重定向到 wamp 本地地址
【发布时间】:2017-03-12 21:44:57
【问题描述】:

我已经为 wamp 下载并配置了一个在线托管网站。发生的唯一问题是,如果我点击本地网站上的任何链接,我将被重定向到我的在线网站。

不幸的是,我无法设置我的 htaccess,以便它更改本地服务器的在线链接。

例如:

在重定向到www.example.com/blog 的站点上的链接应重写为重定向到example.dev/blog

为此,我尝试过类似的方法:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com(.*) [NC]
RewriteRule ^(.*)$ example.dev/$1 [R=301,L]

但它不起作用。

编辑: 一个更深入的例子:

我有一个网站,地址是:www.example.com,它的本地 wamp 地址是 example.dev。现在我在本地example.dev 根目录的index.html 中有一个链接<a href="http://www.example.com/shop.html">Shop</a>。现在我需要一种将http://www.example.com/shop.html 重定向到http://example.dev/shop.html 的方法。这应该适用于所有子页面,不仅适用于商店。也适用于样式表等。

【问题讨论】:

    标签: php apache .htaccess redirect


    【解决方案1】:

    规则中有两点必须改变

    • HTTP_HOST 仅包含主机,没有其他内容。所以条件应该是

      RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
      
    • 目标将被解释为文件系统路径。要将其重定向到另一个主机,您必须指定一个完整的 URL,包括协议 (http)

      RewriteRule ^(.*)$ http://example.dev/$1 [R,L]
      

    将一个站点重定向到另一个批发站点的另一种方法,可以通过Redirect 完成

    Redirect /blog http://example.dev/blog
    

    或对所有请求执行此操作

    Redirect / http://example.dev/
    

    查看您的更新,您似乎根本不需要 .htaccess。您必须将相关链接更改为

    <a href="http://www.example.dev/shop.html">Shop</a>
    

    或者更好的是,不要使用绝对网址

    <a href="/shop.html">Shop</a>
    

    样式表或 Javascript 文件类似。

    【讨论】:

    • 使用你现在对我来说完全有意义的第一种方法是行不通的。如果我通过example.dev/..... 访问本地网站,如果我点击网站上的链接,我仍然会被重定向到www.example.de/.....
    • 重写规则只处理请求,它们不能改变交付的 HTML。这必须在 PHP 代码中完成。不过,这听起来像是您使用的是绝对 URL。
    猜你喜欢
    • 2014-06-19
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 2020-06-06
    • 2018-01-26
    • 1970-01-01
    • 2012-04-25
    • 2020-04-07
    相关资源
    最近更新 更多