【问题标题】:.htaccess redirect wildcard - moving subdomain to different domain.htaccess 重定向通配符 - 将子域移动到不同的域
【发布时间】:2019-01-31 02:40:05
【问题描述】:

子域不变: 洛哈

旧域名: loja.churrascoelareira.com.br

新域 loja.bomdebrasa.com

问题是谷歌仍在将访问者发送到这样的网址: loja.churrascoelareira.com.br/exemple-product-page.html

我怎样才能把它转发给: loja.bomdebrasa.com/example-product-page.html

使用通配符?

EDIT1: 该文件如下所示(两个域都指向同一个服务器),该文件位于两个文件夹中(只是为了确保):public_html 和 public_html/churrascoelareira.com.br

下面的代码是 cPanel 的停放域的图像。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ $1.php [L]

# Google Analytics Integration - Added by cPanel.
<IfModule mod_substitute.c>
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|(<script src='/google_analytics_auto.js'></script>)?</head>|<script src='/google_analytics_auto.js'></script></head>|i"
</IfModule>
# END Google Analytics Integration
RewriteCond %{HTTP_HOST} ^bomdebrasa\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.bomdebrasa\.com$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "http\:\/\/www\.bomdebrasa\.com\/newsite\/" [R=301,L]
RewriteCond %{HTTP_HOST} ^bomdebrasa\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.bomdebrasa\.com$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^site\/?$ "http\:\/\/bomdebrasa\.com\/newsite" [R=301,L]
RewriteCond %{HTTP_HOST} ^bomdebrasa\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.bomdebrasa\.com$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^site\/produtos$ "http\:\/\/bomdebrasa\.com\/newsite" [R=301,L]
RewriteCond %{HTTP_HOST} ^loja\.churrascoelareira\.com\.br$
RewriteRule ^/?(.*)$ https://loja.bomdebrasa.com/$1 [R=301,QSA]

# php -- BEGIN cPanel-generated handler, do not edit
# NOTE this account's php is controlled via FPM and the vhost, this is a place holder.
# Do not edit. This next line is to support the cPanel php wrapper (php_cli).
# AddType application/x-httpd-ea-php56 .php .phtml
# php -- END cPanel-generated handler, do not edit

cPAnel 的托管域:

EDIT2: 我终于找到了(在这个过时的 cPanel 版本中)使用通配符进行重定向的位置。所以这解决了(不是通过手动创建文件,而是解决了),我检查了已经存在的 .htaccess 文件,没有看到任何新内容,所以我猜它是以另一种方式完成的。

【问题讨论】:

    标签: .htaccess redirect wildcard-subdomain


    【解决方案1】:

    不确定您在这里所说的“通配符”是什么意思,但如果在 http 主机中实施,此规则设置应将这些请求转发到新域:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^loja\.churrascoelareira\.com\.br$
    RewriteRule ^/?(.*)$ https://loja.bomdebrasa.com/$1 [R=301,QSA]
    

    为此,您显然需要在旧的 http 主机中启用并加载重写模块。该规则集同样适用于 http 服务器的主机配置或动态配置文件(“.htaccess”),但您应该更喜欢第一个选项。如果您决定使用动态配置文件,请注意它的解释已为旧的 http 主机启用,并且该文件位于主机的 DOCUMENT_ROOT 文件夹中并且可由 http 服务器进程读取。

    【讨论】:

    • 我在编辑时将其添加到文件中。它不工作=(至少现在还没有。
    • 嗯,这是什么意思?只是一个“不起作用”并没有真正的帮助。请求会发生什么?您是否在 http 服务器错误日志文件中获得条目?你提到的那个文件在哪里? 真的old 主机名考虑了吗?这看起来像是 new 主机的配置文件...
    • 嘿,@arkascha,我更新了问题。并感谢您的帮助:)
    • cPanel 不会创建动态配置文件,这些文件实际上会产生更多问题。相反,它会更改这些规则所属的 http 服务器主机配置。因此,以这种方式创建的规则会在考虑动态配置文件之前应用。
    猜你喜欢
    • 2012-10-13
    • 2018-08-14
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多