- Katılım
- 28 Eyl 2021
- Konular
- 8
- Mesajlar
- 63
- Tepkime puanı
- 1
- Puan
- 0
- Yaş
- 40
cPanel'de .htaccess'te Kurallar ve Yönlendirmeler Nasıl Ayarlanır?
.htaccess , Apache web sunucusu tarafından desteklenen dizin düzeyinde bir yapılandırma dosyasıdır. Genel sunucu ayarlarını değiştirmeden belirli bir hesap için web sunucusu yapılandırmasını değiştirmek (ek özellikleri etkinleştirmek veya devre dışı bırakmak) için kullanılır.
.htaccess dosyası, tüm dosyalar ve alt dizinler dahil, yerleştirildiği dizinin tamamı üzerinde etkili olur. Bu dosyada yapılan değişiklikler hemen uygulanacaktır ve sunucunun yeniden başlatılması gerekmez. Erişmek için ana .htaccess dosyasını , hesabınızı barındıran aşağıdaki adımları izleyin:
1. giriş cPanel .
2. Dosyalar >> Dosya Yöneticisi bölümüne gidin :

3. Ana alan adınız için .htaccess dosyasını düzenlemek istiyorsanız, public_html klasörüne gidin . Eklenti etki alanında bazı değişiklikler yapmanız gerekiyorsa, public_html/youraddondomain.com klasörüne gidin. Oradayken , Ayarlar menüsünde Gizli dosyaları göster (nokta dosyaları) seçeneğinin etkinleştirildiğinden
emin olun : 4. .htaccess dosyasını bulun , sağ tıklayın >>

Düzenleme :

5. Dosya yöneticinizde .htaccess dosyası yoksa, Dosya seçeneğini kullanarak yeni bir tane oluşturmaktan çekinmeyin :

Kendi yapılandırma kurallarınızı eklemeye ve bunları kaydetmeye hazırsınız.
Ortak kullanım .htaccess dosyasının kuralları aşağıda sıralanmıştır:
Yetkilendirme/kimlik doğrulama – bir dizin/alt dizin için güvenlik kısıtlamalarını belirtir.
Bir dizini veya birkaçını parola ile koruyabilirsiniz ve bir ziyaretçi her erişmeye çalıştığında, kullanıcı adı ve parola gerekli olacaktır.
Bu tür bir korumayı kurmak için yapmanız gerekenler:
1. Korumak istediğiniz dizini /home/cpanel_user/.htpasswds/ klasöründe oluşturun (örn. public_html/test için yol .htpasswds/public_html/test/ olacaktır).
2.Bu dizindebir parola dosyasıoluşturunve bu çevrimiçi oluşturucuyu kullanarak karma erişim ayrıntılarını ekleyin.
3. .htaccess dosyasına aşağıdaki yönergeleri ekleyin:
AuthType Temel
AuthName "Dizin Adı"
AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"
geçerli kullanıcı gerektirir
Engelleme – kullanıcıları IP adresine veya etki alanına göre engeller. İstenmeyen ziyaretçileri engellemek veya web sitesinin belirli bölümlerine örneğin sahibi, yönetim alanı tarafından erişime izin vermek çok faydalıdır.
Belirli engelleme kurallarını ayarlamak için aşağıdaki metni içeren bir .htaccess dosyası oluşturun:
Verilenlerin tümünü gereksin
ip
XXXX'i gerektirmez </RequireAll>
ip XXXX YYYY gerektir
</RequireAll>
NOT: Kullanımdan kaldırılan Allow , Deny ve Order yönergelerini yeni Require yönergesiyle karıştırmayın .
Özel Hata Sayfaları – bir site için özel hata sayfaları oluşturmaya izin verir. Bu seçenek, web sitenizdeki bir URL çalışmıyorsa, web sitesi ziyaretçilerine web sitenizin temasıyla eşleşen bir hata mesajı göstermenize izin verdiği için çok kullanışlıdır. Bu, örneğin varsayılan '404 Dosya Bulunamadı' hatasını önlemeye yardımcı olur ve sizi şaşırtmak yerine web sitenizin içeriğine yönlendirme yönergeleriyle birlikte özel olarak tasarlanmış bir hatayı görüntülemenize olanak tanır.
Özel bir hata belgesi oluşturmak için aşağıdaki metni içeren bir .htaccess dosyası oluşturun:
ErrorDocument 404 /404.html
Bir 404 (Dosya Bulunamadı) hatası göründüğünde, bu satır Apache Web sunucusuna hata sayfasını ayarladığınız etki alanının dizin kökünde bulunan bir 404.html dosyasını yüklemesini söyler.
NOT : Diğer hatalar (403, 500, vb.) için bir belge ayarlamak için, 404'ü ilgili hata koduyla ve /404.html'yi hata dosyasının yolu ile değiştirmeniz yeterlidir.
Mod_Rewrite – web sayfalarının ve URL'lerin ziyaretçilere nasıl görüntüleneceğini belirler.
.htaccess dosyasında Mod_Rewrite kurallarının kullanımına dikkatinizi çekmek isteriz.
Varsayılan olarak, Mod_Rewrite bir URL'yi bir dosya sistemi yoluna eşler. Ancak, bir URL'yi başka bir URL'ye yönlendirmek için de kullanılabilir.
Yönlendirme oluşturmadan önce, sizin için daha çok tercih edilen yeniden yönlendirme türünü seçmelisiniz:
Kalıcı yönlendirme gelen example.com için domain.com
RewriteCond'da RewriteEngine %{HTTP_HOST} ^example\.com$ [VEYA]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com/ $1" [R=301,L]
Dan Geçici yeniden yönlendirme example.com için domain.com
RewriteCond'da RewriteEngine %{HTTP_HOST} ^example\.com$ [VEYA]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com\ /" [R=302,L]
NOT : Aşağıda kalıcı yönlendirme örnekleri verilmiştir. Geçici olan, kodun sonunda (gerektiğinde) [R=301,L] yerine [R=302,L] yazılarak tanımlanabilir.
Yönlendirme example.com/subfolder için domain.com
RewriteCond'da RewriteEngine %{HTTP_HOST} ^example\.com$ [VEYA]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^subfolder$ "http\:\/\/domain\.com\/" [ R=301,L]
example.com için HTTP'den HTTPS'ye yönlendirme
RewriteCond'da RewriteEngine %{HTTPS} !=
RewriteRule'da .* https://example.com%{REQUEST_URI} [R,L]
veya
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^example\.com$ [VEYA]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$
/$1 [R,L]
WWW olmayandan WWW'ye yönlendirme
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteRule ^(.*)$
[R=301,L]
WWW'den WWW olmayanlara yönlendirme
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteRule (.*)
[R=301,L]
Tüm example.com sayfalarını ilgili domain.com sayfalarına yönlendirin
RedirectMatch 301 ^/(.*)$
NOT : Tüm sayfaların adlarının her iki alanda da eşleşmesi gerekir, aksi takdirde yönlendirme hedef web sitesinde "Sayfa Bulunamadı" mesajına yol açar.
Bir sayfayı yeni bir URL'ye yönlendir
Yönlendirme 301 /old_page.html
NOT : Bu, silinen bir sayfayı 404 hatasına yönlendirmek istediğinizde veya içerik güncellemelere atıfta bulunduktan sonra SEO amaçları için yararlı olabilir.
Ana etki alanı için dizin kökünü public_html/alt klasör olarak değiştirir
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule$ ^(.*) üzerinde RewriteEngine /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
NOT : .htaccess dosyası, belirli kuralları yapılandırmak istediğiniz etki alanının dizin kökünde bulunmalıdır.
Mevcut .htaccess kurallarını devre dışı bırakma
Örneğin, test amacıyla mevcut kurallardan bazılarını devre dışı bırakmanız gerekirse, bunları basitçe yorumlayabilirsiniz. Bunu yapmak için , kuralın her satırının başına # işaretini ekleyin .
Ayrıca, satırları seçip Ctrl + / kısayolunu kullanarak satırı veya hatta satır bloğunu devre dışı bırakmak mümkündür .

.htaccess , Apache web sunucusu tarafından desteklenen dizin düzeyinde bir yapılandırma dosyasıdır. Genel sunucu ayarlarını değiştirmeden belirli bir hesap için web sunucusu yapılandırmasını değiştirmek (ek özellikleri etkinleştirmek veya devre dışı bırakmak) için kullanılır.
.htaccess dosyası, tüm dosyalar ve alt dizinler dahil, yerleştirildiği dizinin tamamı üzerinde etkili olur. Bu dosyada yapılan değişiklikler hemen uygulanacaktır ve sunucunun yeniden başlatılması gerekmez. Erişmek için ana .htaccess dosyasını , hesabınızı barındıran aşağıdaki adımları izleyin:
1. giriş cPanel .
2. Dosyalar >> Dosya Yöneticisi bölümüne gidin :

3. Ana alan adınız için .htaccess dosyasını düzenlemek istiyorsanız, public_html klasörüne gidin . Eklenti etki alanında bazı değişiklikler yapmanız gerekiyorsa, public_html/youraddondomain.com klasörüne gidin. Oradayken , Ayarlar menüsünde Gizli dosyaları göster (nokta dosyaları) seçeneğinin etkinleştirildiğinden
emin olun : 4. .htaccess dosyasını bulun , sağ tıklayın >>

Düzenleme :

5. Dosya yöneticinizde .htaccess dosyası yoksa, Dosya seçeneğini kullanarak yeni bir tane oluşturmaktan çekinmeyin :

Kendi yapılandırma kurallarınızı eklemeye ve bunları kaydetmeye hazırsınız.
Ortak kullanım .htaccess dosyasının kuralları aşağıda sıralanmıştır:
Yetkilendirme/kimlik doğrulama – bir dizin/alt dizin için güvenlik kısıtlamalarını belirtir.
Bir dizini veya birkaçını parola ile koruyabilirsiniz ve bir ziyaretçi her erişmeye çalıştığında, kullanıcı adı ve parola gerekli olacaktır.
Bu tür bir korumayı kurmak için yapmanız gerekenler:
1. Korumak istediğiniz dizini /home/cpanel_user/.htpasswds/ klasöründe oluşturun (örn. public_html/test için yol .htpasswds/public_html/test/ olacaktır).
2.Bu dizindebir parola dosyasıoluşturunve bu çevrimiçi oluşturucuyu kullanarak karma erişim ayrıntılarını ekleyin.
3. .htaccess dosyasına aşağıdaki yönergeleri ekleyin:
AuthType Temel
AuthName "Dizin Adı"
AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"
geçerli kullanıcı gerektirir
Engelleme – kullanıcıları IP adresine veya etki alanına göre engeller. İstenmeyen ziyaretçileri engellemek veya web sitesinin belirli bölümlerine örneğin sahibi, yönetim alanı tarafından erişime izin vermek çok faydalıdır.
Belirli engelleme kurallarını ayarlamak için aşağıdaki metni içeren bir .htaccess dosyası oluşturun:
- herkese erişime izin vermek ve XXXX IP adresi olan kullanıcıları engellemek için
Verilenlerin tümünü gereksin
ip
XXXX'i gerektirmez </RequireAll>
- belirli XXXX ve YYYY IP'leri dışındaki tüm ziyaretçileri engellemek için
ip XXXX YYYY gerektir
</RequireAll>
NOT: Kullanımdan kaldırılan Allow , Deny ve Order yönergelerini yeni Require yönergesiyle karıştırmayın .
Özel Hata Sayfaları – bir site için özel hata sayfaları oluşturmaya izin verir. Bu seçenek, web sitenizdeki bir URL çalışmıyorsa, web sitesi ziyaretçilerine web sitenizin temasıyla eşleşen bir hata mesajı göstermenize izin verdiği için çok kullanışlıdır. Bu, örneğin varsayılan '404 Dosya Bulunamadı' hatasını önlemeye yardımcı olur ve sizi şaşırtmak yerine web sitenizin içeriğine yönlendirme yönergeleriyle birlikte özel olarak tasarlanmış bir hatayı görüntülemenize olanak tanır.
Özel bir hata belgesi oluşturmak için aşağıdaki metni içeren bir .htaccess dosyası oluşturun:
ErrorDocument 404 /404.html
Bir 404 (Dosya Bulunamadı) hatası göründüğünde, bu satır Apache Web sunucusuna hata sayfasını ayarladığınız etki alanının dizin kökünde bulunan bir 404.html dosyasını yüklemesini söyler.
NOT : Diğer hatalar (403, 500, vb.) için bir belge ayarlamak için, 404'ü ilgili hata koduyla ve /404.html'yi hata dosyasının yolu ile değiştirmeniz yeterlidir.
Mod_Rewrite – web sayfalarının ve URL'lerin ziyaretçilere nasıl görüntüleneceğini belirler.
.htaccess dosyasında Mod_Rewrite kurallarının kullanımına dikkatinizi çekmek isteriz.
Varsayılan olarak, Mod_Rewrite bir URL'yi bir dosya sistemi yoluna eşler. Ancak, bir URL'yi başka bir URL'ye yönlendirmek için de kullanılabilir.
Yönlendirme oluşturmadan önce, sizin için daha çok tercih edilen yeniden yönlendirme türünü seçmelisiniz:
- Kalıcı yönlendirme 301 durum koduna sahiptir ve geçici yönlendirmenin aksine tarayıcı belleğinde önbelleğe alınır. Bu, sayfanın taşındığını ve sayfaya gelen tüm arama motorlarının ve kullanıcı aracısının veritabanlarındaki URL'yi güncellemesini istediğini ima eder. Bu, en yaygın yönlendirme türüdür.
- Geçici yönlendirme , sayfanın tarayıcıya 302 durum kodu gönderdiği anlamına gelir. Kod 302, tarayıcıya bu yönlendirmeyi kayıtlı verilerine önbelleğe almamasını söyler. Ziyaretçiyi veya arama motorunu yeniden yönlendirir, ancak arama motoru orijinal sayfaya indekslemeye devam eder. Gelecekte asla değiştiremeyeceğinizden kesinlikle emin değilseniz, önerilen yönlendirme türüdür.
Kalıcı yönlendirme gelen example.com için domain.com
RewriteCond'da RewriteEngine %{HTTP_HOST} ^example\.com$ [VEYA]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com/ $1" [R=301,L]
Dan Geçici yeniden yönlendirme example.com için domain.com
RewriteCond'da RewriteEngine %{HTTP_HOST} ^example\.com$ [VEYA]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com\ /" [R=302,L]
NOT : Aşağıda kalıcı yönlendirme örnekleri verilmiştir. Geçici olan, kodun sonunda (gerektiğinde) [R=301,L] yerine [R=302,L] yazılarak tanımlanabilir.
Yönlendirme example.com/subfolder için domain.com
RewriteCond'da RewriteEngine %{HTTP_HOST} ^example\.com$ [VEYA]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^subfolder$ "http\:\/\/domain\.com\/" [ R=301,L]
example.com için HTTP'den HTTPS'ye yönlendirme
RewriteCond'da RewriteEngine %{HTTPS} !=
RewriteRule'da .* https://example.com%{REQUEST_URI} [R,L]
veya
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^example\.com$ [VEYA]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
WWW olmayandan WWW'ye yönlendirme
- herhangi bir etki alanı için .htaccess şu durumlarda yürürlüğe girer:
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
- belirli bir etki alanı için, example.com:
RewriteRule ^(.*)$
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
WWW'den WWW olmayanlara yönlendirme
- herhangi bir etki alanı için .htaccess şu durumlarda yürürlüğe girer:
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
- belirli bir etki alanı için, example.com:
RewriteRule (.*)
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
Tüm example.com sayfalarını ilgili domain.com sayfalarına yönlendirin
RedirectMatch 301 ^/(.*)$
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
NOT : Tüm sayfaların adlarının her iki alanda da eşleşmesi gerekir, aksi takdirde yönlendirme hedef web sitesinde "Sayfa Bulunamadı" mesajına yol açar.
Bir sayfayı yeni bir URL'ye yönlendir
Yönlendirme 301 /old_page.html
Ziyaretçiler için gizlenmiş link, görmek için kayıt olun. Giriş yap veya üye ol.
NOT : Bu, silinen bir sayfayı 404 hatasına yönlendirmek istediğinizde veya içerik güncellemelere atıfta bulunduktan sonra SEO amaçları için yararlı olabilir.
Ana etki alanı için dizin kökünü public_html/alt klasör olarak değiştirir
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule$ ^(.*) üzerinde RewriteEngine /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
NOT : .htaccess dosyası, belirli kuralları yapılandırmak istediğiniz etki alanının dizin kökünde bulunmalıdır.
Mevcut .htaccess kurallarını devre dışı bırakma
Örneğin, test amacıyla mevcut kurallardan bazılarını devre dışı bırakmanız gerekirse, bunları basitçe yorumlayabilirsiniz. Bunu yapmak için , kuralın her satırının başına # işaretini ekleyin .
Ayrıca, satırları seçip Ctrl + / kısayolunu kullanarak satırı veya hatta satır bloğunu devre dışı bırakmak mümkündür .
