【问题标题】:.htaccess to mask url and redirect domain name to subdirectory.htaccess 屏蔽 url 并将域名重定向到子目录
【发布时间】:2011-08-27 22:07:11
【问题描述】:

大家好 我会很感激一些 .htaccess 建议。

我有两个 wordpress 安装。 “A”位于我的 ISP 的 Linux 服务器根目录中,“B”位于同一服务器的子目录“directoryB”中。

实际结构是:= A.com A.com/directoryB/

我拥有两个域名 A.com 和 B.com。我希望人们在访问 directoryB 上的所有内容时使用地址 B.com,而不是 A.com/directoryB/。

我想单独留下“真正的”“A” - 没有重定向!

我确信这可以使用 .htaccess 文件完成,但到目前为止我失败了! 我已经设法使用cPanel“屏蔽”了“B”的主页,但是一旦您离开主页,它就会恢复到A.com/directoryB/。我也不确定 .htaccess 是否应该位于根目录或子目录中。

我想要的只是每次出现在地址栏上时都用 B.com/ 屏蔽 A.com/directoryB/ ......

提前感谢您的帮助!

【问题讨论】:

    标签: .htaccess url mod-rewrite dns mask


    【解决方案1】:

    public_html 中的 htaccess 是:-

    开始 WordPress


    重写引擎开启
    永久重定向 /directoryB http://B.com
    重写规则 ^test/([^/]*)/$ /test/login/?id=$1
    重写基础 /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    重写规则。 /index.php [L]

    结束 WordPress

    选项-索引

    ===============这是来自“directoryB”的htaccess

    开始 WordPress


    重写引擎开启
    RewriteBase /directoryB/
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    重写规则。 /directoryB/index.php [L]

    结束 WordPress

    选项-索引

    【讨论】:

      【解决方案2】:

      把它放在根目录下的 .htaccess -

      Options +FollowSymlinks
      
      <IfModule mod_rewrite.c>
      RewriteEngine on
      
      Redirect permanent /directoryB http://B.com
      
      </IfModule>
      

      【讨论】:

      • 嗨,谢谢 Lobo!这感觉属于“近在咫尺”类别!这适用于主页,但是当我尝试去网站上的其他地方时,页面不会改变,地址栏只显示“B.com/index.html”并且不显示真实地址,例如“www. b.com/about/"
      • 奇怪,我看不出有什么原因。 www.A.com/directoryB/about 有效吗?网址不变?您能否在您的问题中将 .htaccess 的内容发布到您的directoryB 中?
      • 您好 Lobo,我已经从 directoryB 发布了我的 htaccess,还花了几个令人沮丧的时间尝试调整它 - 无济于事!
      • 我不确定。从我所见,它应该可以工作。备份 directoryB 的 htaccess,删除它,添加一些目录、html 并尝试使用 b.com 和 a.com/directoryB 访问它们。你可能会有一些想法。另外,你可以在你的目录B htaccess 中用RewriteRule . http://B.com/index.php [L] 替换RewriteRule . /directoryB/index.php [L] 并尝试吗?
      【解决方案3】:

      把这个放到目录B的.htaccess文件中看看是否有效:

      RewriteCond %{HTTP_HOST} !^B.com$ [NC]
      RewriteRule (.*) http://B.com/$1 [R=301,L]
      

      【讨论】:

      • 感谢 Compeek。我昨晚尝试了这个,一旦我尝试离开主页,它就会给我一个 500 内部服务器错误。
      猜你喜欢
      • 1970-01-01
      • 2017-02-08
      • 2012-04-14
      • 1970-01-01
      • 2015-09-20
      • 2011-02-03
      • 1970-01-01
      • 2015-09-08
      • 2014-08-28
      相关资源
      最近更新 更多