web-gelistirme-sc.com

İpi host adına yönlendirmek için Apache httpd.conf

Makinem için yapılandırılmış harici IP ve ana bilgisayar adı var.

Uygulama içinde, API'lere erişmek için yalnızca alan adlarını kullanıyorum. Bu yüzden, API adreslerime IP adresi üzerinden erişmeye çalıştığımda, 302 geçici olarak taşındı hatası veriyor .Yani, sunucuya IP adresiyle isabet eden istek için (Ana Sayfa için), ana bilgisayar adına yönlendirilmelidir. 

Diğer bir deyişle, kullanıcı https: //XX.XX.XX.XX/main // https://ayz-abc.mysite.com/main adresine yönlendirilmelidir.

Bunun için yönlendirmeyi Apache'nin httpd.conf dosyasında kullanmayı denedim. 

<VirtualHost XX.XX.XX.XX>

DocumentRoot "/var/www/html"
#ServerName ayz-abc.mysite.com/

 # Other directives here
 RewriteEngine On
 RewriteRule /.* https://ayz-abc.mysite.com/ [R]

</VirtualHost>

Ben de şunu denedim

<VirtualHost *.portnum>
DocumentRoot "/var/www/html"
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule  https://XX.XX.XX.XX/main https://ayz-abc.mysite.com/main [R=301,L]
</VirtualHost>

Plsssss bana yardım et. 

14
Poppy

Tamam. Bir yeniden yazma koşulu eksik

<VirtualHost XX.XX.XX.XX>

DocumentRoot "/var/www/html"
#ServerName ayz-abc.mysite.com/

 # Other directives here
 RewriteEngine On
 RewriteCond %{HTTP_Host} !^ayz-abc.mysite.com$
 RewriteRule /.* https://ayz-abc.mysite.com/ [R]

</VirtualHost>

Bu koşulu dahil etmezseniz, ana bilgisayar adıyla bile

9
William Greenly

Bu benim için çalışıyor. Yapılandırmaları Apache'nin httpd.conf dosyasına ekleyin.

CASE-1: kullanıcı http: //XX.XX.XX.XX/XX/main ya da http://ayz-abc.mysite.com/main 'a ulaştığında https konumuna yönlendirilmelidir : //ayz-abc.mysite.com/main

Yapılandırma:

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
<VirtualHost *:80>
ServerName XX.XX.XX.XX
Redirect /main https://ayz-abc.mysite.com/main
</VirtualHost>

ÖRNEK 2: Kullanıcı https: //XX.XX.XX.XX/main 'e bastığında, https://ayz-abc.mysite.com/main ' a yönlendirilmelidir.

Yapılandırma:

NameVirtualHost *:443
<VirtualHost *:443>
DocumentRoot "/var/www/html"
#Server Name 
ServerName XX.XX.XX.XX
SSLEngine on
SSLOptions +StrictRequire
# Redirect to the specified URL 
Redirect /main https://ayz-abc.mysite.com/main
<Directory />
SSLRequireSSL
</Directory>
....
....
</VirtualHost>
1
Poppy

Bunu dene:

RewriteRule $ https://ayz-abc.mysite.com/ [L,R]

Ayrıca yeniden yazma günlüklerini görebilirsiniz, buraya bakın

1
Ankit

API kullanmıyorsanız, ancak tarayıcıların ve tarayıcıların IP Adresi yerine URL’ye gitmesini istiyorsanız, RedirectPermanent’i kullanabilirsiniz.

<VirtualHost XX.XX.XX.XX>

    RedirectPermanent / http://ayz-abc.mysite.com/

</VirtualHost>

<VirtualHost XX.XX.XX.XX>

    DocumentRoot "/var/www/html"
    ServerName ayz-abc.mysite.com/

</VirtualHost>

Arama motorlarına yardımcı olan "gelecekte lütfen yönlendirildiğiniz url'yi kullanın" sinyallerini veren 301 HTTP durumuyla yanıt verme avantajına sahiptir. Sitenizi yeni bir etki alanına taşırsanız, aynı çözümü kullanmalısınız.

0
Bojan Hrnkas