【问题标题】:URL Rewrite to another serverURL重写到另一台服务器
【发布时间】:2012-01-25 18:24:10
【问题描述】:

我有一个域名,比如说http://www.mydomain.com
我在该域上有一些不允许 PHP 的存储,但允许通过 .htaccess 重写 URL。

我在另一台接受 php 的服务器上有另一个“帐户”。
我把我网站的内容放在上面,比如说http://myaccess.myprovider.com/mydomain/

所以我刚刚在 mydomain.com 的根目录上放了一个 .htaccess 以将任何呼叫从 mydomain.com 重定向到 myaccess.myprovider.com/mydomain

RewriteEngine on
RewriteRule www\.mydomain\.com /myaccess.myprovider.com/mydomain [L]

但我无法实现这一点,我收到 403 禁止错误。可能是正则表达式中的问题。我不知道。一些更简单的例子可以工作,比如Here

我应该写什么或做什么来完成这项工作?

【问题讨论】:

    标签: http .htaccess url-rewriting dns


    【解决方案1】:

    试试:

    RewriteCond %{HTTP_HOST} ^(www\.)?mydomain.com$  [NC]
    RewriteRule ^(.*)$ http://myaccess.myprovider.com/mydomain/$1 [P,L]
    

    如果您只想在那里发送 PHP 请求,请在规则前添加 RewriteCond %{REQUEST_URI} \.php$ [NC]

    编辑:忘记在条件中包含主机名。

    【讨论】:

    • 开始工作。我转到 dest 服务器,但输入 www.mydomain.com 时出现 400 错误。 index.php 存在于 dest。
    • 输入 RewriteRule ^www\.mydomain\.com(.*)$ http://myaccess.myprovider.com/mydomain/$1 [P,L] 会出现 403 错误并且没有服务器重定向
    • RewriteRule 指令匹配不包括主机名。它仅与去掉前导斜杠的 URI 匹配。所以转到mydomain.com/something.php,规则将匹配:something.php。检查我的编辑中添加的条件
    • 出于 SEO 的目的,我建议在重写规则的末尾使用 [R=301,NC,L]。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 2011-11-05
    • 1970-01-01
    • 2019-02-23
    相关资源
    最近更新 更多