Forum
Merhaba;
Bir firmadan alan adı aldım içinde host yok. Hostumu win 2012 server tarafına Appserv yazılımı ile kurdum ve alan adını sunucu ip adresıne yonlendırdim ve siteye erisebiliyorum yine problem yok. Problem şu : a.com alan adı ile direkt siteye erişebiliyorum fakat b.a.com subdomaini ile sunucu içinde ki farklı bir klasöre gitmesini istiyorum ana dizine değil. Örn;
http://a.com alan adı /www/index.php dosyasını calıstırsın, http://b.a.com subdomaini /www/1/2/3/index.php klasörüne gitsin. Bunu nasıl yapacağım? .htaccess ile mümkünmü acaba, şu subdomain ile gelirsen şu klasöre git gibi birşey varmı?
Merhabalar,
.htaccess içerisine aşağıdaki config bilgilerini girebilir misiniz?
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog\.cozumpark\.com$
RewriteCond %{REQUEST_URI} !^/blog/
RewriteRule (.*) /blog/$1 [L]
Bilginize.
Neden windows servere apache kuruyorsunuz ki? IIS üzerinden de php çalıştırabilirsiniz. Kolayca: https://www.zulfumehmet.com/windows-server-iisde-php-ve-mysql-kurulumu/
Konunuza gelecek olursak İlk önce DNS üzerinden kaç tane sub domain oluşturacaksanız sub domainlerin adıya CNAME yad A kaydı oluşturunuz.
1 - Apachede Vhost özelliğini aktif ediniz. Alias_modul ile Vhost_Alias_modulü aktif ettiriniz.
2 - Conf dosyasını düzemleyiniz. Apache klasörünün içinde httpd.conf dosyası.
# Virtual hosts #Include conf/extra/httpd-vhosts.conf
başındaki sharp işaretini siliniz
Include conf/extra/httpd-vhosts.conf
3 - Apache klasörünün içinde httpd-vhosts.conf dosyasını düzenleyelim. İçindeki tüm verileri silin aşağıdakileri yapıştırınız
NameVirtualHost *:80
# Localde calisma
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot "c:\vhost\sitem"
ErrorLog "logs\errors.log"
<directory "c:\vhost\sitem">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
# www.siteadi.com
# Dosya yolu c:\vhost\sitem
<VirtualHost *:80>
ServerName siteadi.com
ServerAlias www.siteadi.com
DocumentRoot "c:\vhost\sitem"
ErrorLog "logs\errors.log"
<directory "c:\vhost\sitem">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
# subdomain.siteadı.com ile sub domain oluşturma
# Dosya yolu c:\vhost\sitem\subdomain
<VirtualHost *:80>
ServerName siteadi.com
ServerAlias subdomain1.siteadi.com
VirtualDocumentRoot "c:\vhost\sitem\subdomain"
ErrorLog "logs\errors.log"
<directory "c:\vhost\sitem\subdomain">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
# subdomain1.siteadı.com ile sub domain oluşturma
# klasör olarak c:\vhost\sitem\subdomain1 kullanılır
<VirtualHost *:80>
ServerName siteadi.com
ServerAlias subdomain1.siteadi.com
VirtualDocumentRoot "c:\vhost\sitem\subdomain1"
ErrorLog "logs\errors.log"
<directory "c:\vhost\sitem\subdomain1">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
5 - Host dosyasını günelleyiniz.
6 - Apache Serveri resetleyiniz.
7 - Komut satırına girip ipconfig /flushdns
Bir aksilik olmazsa erişim sağlıyor olmanız gerekiyor.
Kişisel bir olay
Merhaba,
Yeni konu açmak daha mı iyidir bilmiyorum ama konu aynı olduğundan dolayı buraya yazdım.
Alt alan adlarını yazınca ana domain deki html sayfası geliyor. Yaptığım işlemleri sırasıyla aşağıda belirtiyorum. Apache 2.4 kurulu. Acaba atladığım birşey mi var ?
1- #Include conf/extra/httpd-vhosts.conf ve #LoadModule alias_module modules/mod_alias.so satırlarındaki # işaretini kaldırdım.
2-httpd-vhosts.conf dosyasının içeriğini aşağıdaki gibi güncelledim ve apache servisini restart ediyorum.
NameVirtualHost *:80
# www.siteadi.com
# Dosya yolu c:\vhost\sitem
<VirtualHost *:80>
ServerName erdeminnotlari.com
ServerAlias www.erdeminnotlari.com
DocumentRoot "C:\Apache\htdocs"
ErrorLog "logs\errors.log"
<directory "C:\Apache\htdocs">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
<VirtualHost *:80>
ServerName erdeminnotlari.com
ServerAlias test.erdeminnotlari.com
VirtualDocumentRoot "C:\Apache\htdocs\test"
ErrorLog "logs\errors.log"
<directory "C:\Apache\htdocs\test">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
<VirtualHost *:80>
ServerName erdeminnotlari.com
ServerAlias erdem.erdeminnotlari.com
VirtualDocumentRoot "C:\Apache\htdocs\erdem"
ErrorLog "logs\errors.log"
<directory "C:\Apache\htdocs\erdem">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
3- Host dosyam aşağıdaki gibidir.
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 erdeminnotlari.com
127.0.0.1 test.erdeminnotlari.com
127.0.0.1 erdem.erdeminnotlari.com
Yardımlarınızı rica ederim.
Merhaba,
sıfırdan kurdum bu defa httpd.conf dosyasına aşağıdaki komutları yazdım vhost dosyasını ellemedim.
Tarayıcıdan dominox.erdeminnotlari.com ve test.erdeminnotlari.com adreslerini yazınca ilk hangisi yazılı ise onu getiriyor.
www.erdeminnotlari.com adresini yazınca ana klasöründeki dosyayı getiriyor. Acaba birden fazla subdomain kullanamıyormuyuz ?
NameVirtualHost *:80
<VirtualHost *:80>
ServerName dominox.erdeminnotlari.com
DocumentRoot "C:/Apache/htdocs/dominox"
</VirtualHost>
<VirtualHost *:80>
ServerName test.erdeminnotlari.com
DocumentRoot "C:/Apache/htdocs/test"
</VirtualHost>
<VirtualHost *:80>
# This first-listed virtual host is also the default for *:80
ServerName www.erdeminnotlari.com
ServerAlias erdeminnotlari.com
DocumentRoot "C:/Apache/htdocs/ana"
</VirtualHost>
Merhaba,
Sorunu buldum. Dns yöneticisinden (godaddy) ayarlarken yönlendirme olarak ayarlıyordum. Hatayı orada yapıyormuşum. A kaydı oluşturmam gerekiyormuş. Şuanda istediğim gibi subdomain çalışıyor.
Neden IIS kullanmıyorsunuz? Zaten hazırda bir windows server mevcut. PHP de çalıştırabilirsiniz ek bir yazılıma gerek kalmadan.
Windows Sunucuda IIS8, DNS Sunucu Kurulumu ve Web Yayını
https://www.zulfumehmet.com/windows-server-iisde-php-ve-mysql-kurulumu/
bu makaleleri inceleyiniz.
Kişisel bir olay
Merhaba,
Sonradan IIS e döndüm Php ve Mysql ile birlikte kullanıyorum. Öneriniz için çok teşekkürler.