Apache htaccess redirect?

У меня есть клиент, у которого есть домен вроде this-site.com , а также thissite.com Не вдаваясь в суть проблемы, нам нужно перенаправить любой входящий запрос на любой *. This-site.com на соответствующий *. Thissite.com .

Так, например:

subdomain1.this-site.com -> subdomain1.thissite.com
subdomain2.this-site.com -> subdomain2.thissite.com
subdomain3.this-site.com -> subdomain3.thissite.com

Есть ли способ сохранить первую часть URL-адреса и передать ее второму домену?

3
задан 25 January 2018 в 11:24
1 ответ

Met die veronderstelling dat al hierdie subdomeine op dieselfde plek in die lêerstelsel oplos, dan ... om terug te lei van this-site.com na thisstite.com Terwyl u die subdomein en die res van die URL bewaar (dws. URL-pad en navraagstring), kan u iets soos die volgende doen met behulp van mod_rewrite, aan die bokant van u .htaccess lêer in die wortel van u werf:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+)\.this-site\.com [NC]
RewriteRule ^ https://%1.thissite.com%{REQUEST_URI} [R=302,L]

Ek het aangeneem HTTPS . Dit herlei https: // .this-site.com / [? ] to https: // .thissite.com /? .

The % 1 is 'n terugverwysing na die eerste gevange groep in die laaste wedstryd CondPattern . Met ander woorde, dit stem ooreen met die subdomein ( ([^.] +) in die voorafgaande regex) in die versoekde gasheernaam.

Let ook op:

  • Dit sal herlei alle subdomeine, insluitend www .
  • Maar dit sal nie sub-subdomeine herlei nie, bv. subsubdomain.subdomain1.thissite.com sal nie herlei word nie.
  • En dit sal slegs subdomeine herlei, dus sal dit nie hierdie-site.com herlei nie.

This is ook 'n tydelike (302) herleiding. As dit bedoel is om permanent te wees, verander dan die 302 na 301, maar eers nadat u bevestig het, werk dit OK. (301's word hard deur die blaaier geberg, sodat dit die toets moeilik kan maak.)

1
ответ дан 3 December 2019 в 07:22

Теги

Похожие вопросы