【问题标题】:How to fix: site getting redirected to another domain?如何解决:网站被重定向到另一个域?
【发布时间】:2020-02-24 16:51:52
【问题描述】:

问题:

我的网络托管服务提供商 (apache) 支持在一个帐户下拥有多个域,这些域包含 wordpress 安装,并通过路径中的 ftp 客户端进行管理:

www/domains/domain1.tld
www/domains/domain2.tld

当我打开 https://domain2.tld 时,一切正常。

无论如何.. 如果我没有指定“https://”,那么它会被重定向到 https://domain1.tld

我有什么:

www/domains 我有这个 .htaccess 文件

RewriteEngine On
# domains
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]

# subdomains
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

# domains proper redirection when / is missing
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomains proper redirection when / is missing
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]

然后在每个 WP 安装中我都有 wordpress .htacces 文件

# BEGIN WordPress
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301]  
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
  • 我确实检查了数据库和 wp-config,它们都没有包含指向 https://domain1.ltd
  • 两个域都使用 Lets Encrypt 证书
  • 我确实使用 notepad++ 在 domain2.ltd 本地搜索了 domain1.ltd 的出现,但没有找到,禁用所有插件也无济于事

强制 https 重定向也不起作用:

RewriteCond %{HTTP_HOST} ^domain2\.tld [NC]
RewriteRule (.*) https://www.domain2.tld/$1 [R=301,QSA,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.domain2.tld/$1 [R=301,L]

说实话,我想不出下一步该做什么。任何人都知道如何解决这个问题?我的猜测是 www/domains .htaccess 文件或网络主机有问题。

谢谢你们!

【问题讨论】:

  • 您可以访问 apache 配置吗?特别是虚拟主机文件?
  • 遗憾的是我没有.. 只有.htaccess
  • 完全禁用 WP .htaccess 文件,请求一个静态的 foo.txt 文件,您放入每个 WP 安装的基本文件夹 - 那么同样的问题吗?然后我会请宿主修复它,这似乎是他们的部分设置错误。
  • @04FS 只返回 403 禁止错误
  • 什么,使用 no .htaccess 并且只请求物理上存在的文件? (您是否确保 Web 服务器可以读取该文件?)

标签: wordpress apache .htaccess http-status-code-301 lets-encrypt


【解决方案1】:

最后是主 htaccess 文件的位置错误,应该在 www/dricetory,而不是在 www/domains

无论如何,谢谢你们的时间! :)

【讨论】:

    猜你喜欢
    • 2021-11-19
    • 2012-07-14
    • 1970-01-01
    • 2020-08-15
    • 2016-07-16
    • 2020-01-31
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多