{"id":37178,"date":"2025-12-28T13:40:43","date_gmt":"2025-12-28T10:40:43","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37178"},"modified":"2025-12-28T13:40:43","modified_gmt":"2025-12-28T10:40:43","slug":"htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/","title":{"rendered":".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>.htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber<\/h2>\n<h2>Giri\u015f<\/h2>\n<p>Web sunucular\u0131 d\u00fcnyas\u0131nda, \u00f6zellikle Apache kullanan ortamlar i\u00e7in .htaccess dosyas\u0131, web y\u00f6neticileri ve geli\u015ftiriciler i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r. Bu k\u00fc\u00e7\u00fck, gizli dosya, sunucu ayarlar\u0131n\u0131 dizin baz\u0131nda de\u011fi\u015ftirmeye olanak tan\u0131yarak, bir web sitesinin davran\u0131\u015f\u0131n\u0131, g\u00fcvenli\u011fini ve performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde etkileyebilir. Temel y\u00f6nlendirmelerden karma\u015f\u0131k URL yeniden yazma i\u015flemlerine, g\u00fcvenlik \u00f6nlemlerinden performans optimizasyonlar\u0131na kadar geni\u015f bir yelpazede g\u00f6revleri yerine getirebilen .htaccess, do\u011fru kullan\u0131ld\u0131\u011f\u0131nda web sitenize b\u00fcy\u00fck esneklik ve kontrol sa\u011flar. Ancak yanl\u0131\u015f veya dikkatsiz kullan\u0131ld\u0131\u011f\u0131nda, web sitenizin tamamen eri\u015filemez hale gelmesine neden olabilecek &#8220;500 Internal Server Error&#8221; gibi ciddi sorunlara yol a\u00e7abilir. Bu kapsaml\u0131 rehberde, .htaccess dosyas\u0131n\u0131n ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, yayg\u0131n kullan\u0131m alanlar\u0131n\u0131 \u00f6rneklerle birlikte ve kullan\u0131rken dikkat edilmesi gereken \u00f6nemli noktalar\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h2>.htaccess Temelleri<\/h2>\n<p>.htaccess dosyas\u0131, Apache HTTP Sunucusu taraf\u0131ndan kullan\u0131lan da\u011f\u0131t\u0131lm\u0131\u015f bir yap\u0131land\u0131rma dosyas\u0131d\u0131r. &#8220;Hypertext Access&#8221; kelimelerinin k\u0131saltmas\u0131d\u0131r ve genellikle sunucu genelinde yap\u0131land\u0131rma dosyalar\u0131na (httpd.conf) eri\u015fimi olmayan kullan\u0131c\u0131lar\u0131n, kendi web dizinleri i\u00e7in belirli ayarlar\u0131 yapmas\u0131na olanak tan\u0131r.<\/p>\n<h3>.htaccess Nedir?<\/h3>\n<p>.htaccess, Apache web sunucusunun bir \u00f6zelli\u011fidir ve belirli bir dizin i\u00e7in yap\u0131land\u0131rma ayarlar\u0131n\u0131 ge\u00e7ersiz k\u0131lmak veya geni\u015fletmek i\u00e7in kullan\u0131l\u0131r. Bu dosyalar, Apache&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 olan httpd.conf&#8217;a eri\u015fimi olmayan payla\u015f\u0131ml\u0131 bar\u0131nd\u0131rma ortamlar\u0131nda \u00f6zellikle kullan\u0131\u015fl\u0131d\u0131r. Bir .htaccess dosyas\u0131, bulundu\u011fu dizin ve alt dizinleri i\u00e7in ge\u00e7erli olan kurallar i\u00e7erir. Bu kurallar, PHP ayarlar\u0131ndan URL yeniden yazmaya, eri\u015fim k\u0131s\u0131tlamalar\u0131ndan hata sayfalar\u0131na kadar \u00e7e\u015fitli sunucu davran\u0131\u015flar\u0131n\u0131 kontrol edebilir.<\/p>\n<h3>Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p>Apache sunucusu, bir web iste\u011fi ald\u0131\u011f\u0131nda, istenen kayna\u011f\u0131n bulundu\u011fu dizine ve o dizinin \u00fcst dizinlerine bakar. Her dizinde bir .htaccess dosyas\u0131 bulursa, bu dosyalar\u0131 okur ve i\u00e7erdi\u011fi y\u00f6nergeleri uygular. Bu i\u015flem, en \u00fcst dizinden (genellikle <code>public_html<\/code> veya <code>www<\/code>) ba\u015flayarak istenen kayna\u011f\u0131n bulundu\u011fu dizine kadar devam eder. Kurallar, \u00fcst dizinlerden alt dizinlere do\u011fru miras al\u0131n\u0131r ve alt dizinlerdeki kurallar, \u00fcst dizinlerdeki ayn\u0131 kurallar\u0131 ge\u00e7ersiz k\u0131labilir.<\/p>\n<p>.htaccess dosyalar\u0131n\u0131n \u00e7al\u0131\u015fabilmesi i\u00e7in Apache ana yap\u0131land\u0131rmas\u0131nda <code>AllowOverride<\/code> y\u00f6nergesinin do\u011fru \u015fekilde ayarlanm\u0131\u015f olmas\u0131 gerekir. <code>AllowOverride None<\/code> olarak ayarlan\u0131rsa, .htaccess dosyalar\u0131 tamamen yok say\u0131l\u0131r. <code>AllowOverride All<\/code> ise t\u00fcm y\u00f6nerge t\u00fcrlerinin .htaccess dosyalar\u0131nda kullan\u0131lmas\u0131na izin verir. G\u00fcvenlik ve performans nedenleriyle, bar\u0131nd\u0131rma sa\u011flay\u0131c\u0131lar\u0131 genellikle <code>AllowOverride<\/code> de\u011ferini belirli y\u00f6nerge t\u00fcrleriyle k\u0131s\u0131tlar (\u00f6rne\u011fin, <code>AllowOverride FileInfo AuthConfig Indexes<\/code>).<\/p>\n<h3>Olu\u015fturma ve D\u00fczenleme<\/h3>\n<p>.htaccess dosyas\u0131, basit bir d\u00fcz metin dosyas\u0131d\u0131r. Herhangi bir metin d\u00fczenleyici (Notepad, Sublime Text, VS Code vb.) kullan\u0131larak olu\u015fturulabilir veya d\u00fczenlenebilir. Dosya ad\u0131n\u0131n ba\u015f\u0131nda bir nokta (.) olmas\u0131, Unix tabanl\u0131 sistemlerde (Linux gibi) dosyan\u0131n gizli oldu\u011fu anlam\u0131na gelir. Bu nedenle, FTP istemcileri veya dosya y\u00f6neticileri arac\u0131l\u0131\u011f\u0131yla sunucuya eri\u015firken gizli dosyalar\u0131 g\u00f6sterme se\u00e7ene\u011fini etkinle\u015ftirmeniz gerekebilir.<\/p>\n<p>Dosyay\u0131 olu\u015fturduktan veya d\u00fczenledikten sonra, FTP, SFTP veya cPanel gibi bir kontrol panelinin dosya y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla web sitenizin k\u00f6k dizinine veya belirli bir alt dizinine y\u00fcklemeniz gerekir. Herhangi bir de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131zda, web sitenizi test etmeniz ve olas\u0131 hatalar\u0131 kontrol etmeniz \u00f6nemlidir. Hatal\u0131 bir s\u00f6zdizimi, web sitenizin &#8220;500 Internal Server Error&#8221; hatas\u0131 vermesine neden olabilir.<\/p>\n<h2>S\u0131k Kullan\u0131lan .htaccess \u0130\u015flevleri ve \u00d6rnekleri<\/h2>\n<p>.htaccess dosyas\u0131n\u0131n g\u00fcc\u00fc, sundu\u011fu geni\u015f i\u015flevsellik yelpazesinden gelir. \u0130\u015fte en yayg\u0131n kullan\u0131lan i\u015flevler ve pratik \u00f6rnekler:<\/p>\n<h3>Yeniden Y\u00f6nlendirmeler (Redirects)<\/h3>\n<p>Yeniden y\u00f6nlendirmeler, bir URL&#8217;den ba\u015fka bir URL&#8217;ye ziyaret\u00e7ileri ve arama motorlar\u0131n\u0131 y\u00f6nlendirmek i\u00e7in kullan\u0131l\u0131r. Bu, web sitenizin yap\u0131s\u0131n\u0131 de\u011fi\u015ftirdi\u011finizde, eski sayfalar\u0131 yeni sayfalara y\u00f6nlendirdi\u011finizde veya www olmayan adresleri www&#8217;liye y\u00f6nlendirmek gibi durumlarda kritik \u00f6neme sahiptir.<\/p>\n<p>*   <strong>301 Kal\u0131c\u0131 Y\u00f6nlendirme:<\/strong><br \/>\n    Bu, bir sayfan\u0131n kal\u0131c\u0131 olarak yeni bir konuma ta\u015f\u0131nd\u0131\u011f\u0131n\u0131 belirtir. SEO a\u00e7\u0131s\u0131ndan \u00f6nemlidir, \u00e7\u00fcnk\u00fc arama motorlar\u0131na sayfan\u0131n t\u00fcm &#8220;link g\u00fcc\u00fcn\u00fcn&#8221; yeni adrese aktar\u0131lmas\u0131 gerekti\u011fini s\u00f6yler.<\/p>\n<pre><code class=\"language-apache\">Redirect 301 \/eski-sayfa.html \/yeni-sayfa.html<\/code><\/pre>\n<p>    T\u00fcm bir etki alan\u0131n\u0131 y\u00f6nlendirmek i\u00e7in:<\/p>\n<pre><code class=\"language-apache\">Redirect 301 \/ http:\/\/www.yenisitem.com\/<\/code><\/pre>\n<p>*   <strong>302 Ge\u00e7ici Y\u00f6nlendirme:<\/strong><br \/>\n    Bu, bir sayfan\u0131n ge\u00e7ici olarak yeni bir konuma ta\u015f\u0131nd\u0131\u011f\u0131n\u0131 belirtir. Arama motorlar\u0131 link g\u00fcc\u00fcn\u00fc aktarmaz. Bak\u0131m \u00e7al\u0131\u015fmalar\u0131 gibi k\u0131sa s\u00fcreli y\u00f6nlendirmeler i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-apache\">Redirect 302 \/bakimdaki-sayfa.html \/gecici-sayfa.html<\/code><\/pre>\n<p>*   <strong>www Olmayan Adresleri www&#8217;liye Y\u00f6nlendirme:<\/strong><br \/>\n    Bu, SEO i\u00e7in \u00f6nemlidir, \u00e7\u00fcnk\u00fc sitenizin tek bir canonical URL&#8217;ye sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\n    RewriteCond %{HTTP_HOST} !^www\\. [NC]\n    RewriteRule ^(.*)$ http:\/\/www.%{HTTP_HOST}\/$1 [L,R=301]<\/code><\/pre>\n<p>*   <strong>HTTP&#8217;den HTTPS&#8217;ye Y\u00f6nlendirme (SSL Zorlama):<\/strong><br \/>\n    G\u00fcvenlik ve SEO i\u00e7in t\u00fcm trafi\u011fi HTTPS&#8217;ye y\u00f6nlendirmek kritik \u00f6neme sahiptir.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\n    RewriteCond %{HTTPS} off\n    RewriteRule ^(.*)$ https:\/\/%{HTTP_HOST}%{REQUEST_URI} [L,R=301]<\/code><\/pre>\n<h3>URL Yeniden Yazma (URL Rewriting) &#8211; mod_rewrite<\/h3>\n<p><code>mod_rewrite<\/code> mod\u00fcl\u00fc, .htaccess&#8217;\u0131n en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biridir. Karma\u015f\u0131k URL manip\u00fclasyonlar\u0131na olanak tan\u0131r, bu da dinamik web siteleri i\u00e7in SEO dostu ve kullan\u0131c\u0131 dostu URL&#8217;ler olu\u015fturmak i\u00e7in idealdir.<\/p>\n<p>*   <strong>mod_rewrite&#8217;\u0131 Etkinle\u015ftirme:<\/strong><br \/>\n    Herhangi bir <code>RewriteRule<\/code> kullanmadan \u00f6nce <code>RewriteEngine On<\/code> y\u00f6nergesini eklemeniz gerekir.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On<\/code><\/pre>\n<p>*   <strong>Dostu URL&#8217;ler Olu\u015fturma:<\/strong><br \/>\n    Dinamik bir URL&#8217;yi (\u00f6rne\u011fin, <code>urun.php?id=123<\/code>) daha temiz bir URL&#8217;ye (\u00f6rne\u011fin, <code>urun\/123<\/code>) d\u00f6n\u00fc\u015ft\u00fcrmek.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\n    RewriteRule ^urun\/([0-9]+)\/?$ urun.php?id=$1 [NC,L]<\/code><\/pre>\n<p>    Bu kural, <code>\/urun\/123\/<\/code> veya <code>\/urun\/123<\/code> gibi bir iste\u011fi <code>urun.php?id=123<\/code> olarak dahili olarak yeniden yazar. <code>[NC]<\/code> b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyars\u0131zl\u0131\u011f\u0131, <code>[L]<\/code> ise bu kural e\u015fle\u015fti\u011finde ba\u015fka kural\u0131n uygulanmamas\u0131n\u0131 sa\u011flar.<\/p>\n<p>*   <strong>Dosya Uzant\u0131lar\u0131n\u0131 Gizleme:<\/strong><br \/>\n    <code>.php<\/code>, <code>.html<\/code> gibi dosya uzant\u0131lar\u0131n\u0131 URL&#8217;den kald\u0131rma.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\n    RewriteCond %{REQUEST_FILENAME} !-f\n    RewriteRule ^([^\\.]+)$ $1.php [NC,L]<\/code><\/pre>\n<p>    Bu kural, mevcut bir dosya olmayan bir iste\u011fi (<code>-f<\/code> kontrol\u00fc) al\u0131r ve sonuna <code>.php<\/code> eklemeyi dener.<\/p>\n<h3>G\u00fcvenlik (Security)<\/h3>\n<p>.htaccess, web sitenizin g\u00fcvenli\u011fini art\u0131rmak i\u00e7in \u00e7e\u015fitli yollar sunar.<\/p>\n<p>*   <strong>IP Adresi Engelleme:<\/strong><br \/>\n    Belirli IP adreslerinden veya IP bloklar\u0131ndan eri\u015fimi engelleme.<\/p>\n<pre><code class=\"language-apache\">Order Deny,Allow\n    Deny from 192.168.1.100\n    Deny from 10.0.0.0\/8\n    Allow from All<\/code><\/pre>\n<p>    Belirli bir IP d\u0131\u015f\u0131ndaki t\u00fcm eri\u015fimi engellemek i\u00e7in:<\/p>\n<pre><code class=\"language-apache\">Order Deny,Allow\n    Deny from All\n    Allow from 192.168.1.100<\/code><\/pre>\n<p>*   <strong>Dizin Listelemesini Engelleme:<\/strong><br \/>\n    Ziyaret\u00e7ilerin web sitenizdeki bir dizinin i\u00e7eri\u011fini g\u00f6rmesini engeller (\u00f6rne\u011fin, <code>index.html<\/code> veya <code>index.php<\/code> olmayan bir dizine girildi\u011finde). Bu, hassas dosyalar\u0131n veya dizin yap\u0131s\u0131n\u0131n a\u00e7\u0131\u011fa \u00e7\u0131kmas\u0131n\u0131 \u00f6nler.<\/p>\n<pre><code class=\"language-apache\">Options -Indexes<\/code><\/pre>\n<p>*   <strong>Hassas Dosya T\u00fcrlerine Eri\u015fimi K\u0131s\u0131tlama:<\/strong><br \/>\n    \u00d6rne\u011fin, .htaccess dosyalar\u0131n\u0131n kendilerine veya di\u011fer yap\u0131land\u0131rma dosyalar\u0131na (\u00f6rne\u011fin, <code>.htpasswd<\/code>) do\u011frudan eri\u015fimi engelleme.<\/p>\n<pre><code class=\"language-apache\"><FilesMatch \"^\\.ht\">\n        Order allow,deny\n        Deny from all\n        Satisfy All\n    <\/FilesMatch><\/code><\/pre>\n<p>*   <strong>\u015eifre Korumal\u0131 Dizinler:<\/strong><br \/>\n    Belirli bir dizine eri\u015fmek i\u00e7in kullan\u0131c\u0131 ad\u0131 ve \u015fifre gerektirme. Bunun i\u00e7in <code>.htpasswd<\/code> ad\u0131nda bir \u015fifre dosyas\u0131 olu\u015fturman\u0131z ve sunucunuzda eri\u015filemez bir yere koyman\u0131z gerekir.<\/p>\n<pre><code class=\"language-apache\">AuthType Basic\n    AuthName \"K\u0131s\u0131tl\u0131 Alan\"\n    AuthUserFile \/home\/kullaniciadi\/.htpasswd  # .htpasswd dosyas\u0131n\u0131n sunucudaki tam yolu\n    Require valid-user<\/code><\/pre>\n<h3>Hata Sayfalar\u0131 (Custom Error Pages)<\/h3>\n<p>Web sitenizde bir hata olu\u015ftu\u011funda (\u00f6rne\u011fin, sayfa bulunamad\u0131), ziyaret\u00e7ilere varsay\u0131lan sunucu hata mesaj\u0131 yerine kendi tasarlad\u0131\u011f\u0131n\u0131z, daha kullan\u0131c\u0131 dostu bir hata sayfas\u0131 g\u00f6stermek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>*   <strong>\u00d6zel Hata Sayfas\u0131 Tan\u0131mlama:<\/strong><\/p>\n<pre><code class=\"language-apache\">ErrorDocument 404 \/404.html\n    ErrorDocument 403 \/403.html\n    ErrorDocument 500 \/500.html<\/code><\/pre>\n<p>    Bu \u00f6rnekte, <code>404.html<\/code>, <code>403.html<\/code> ve <code>500.html<\/code> dosyalar\u0131 web sitenizin k\u00f6k dizininde bulunmal\u0131d\u0131r.<\/p>\n<h3>\u00d6n Bellekleme (Caching) ve S\u0131k\u0131\u015ft\u0131rma (Compression)<\/h3>\n<p>Web sitesi performans\u0131n\u0131 art\u0131rmak i\u00e7in taray\u0131c\u0131 \u00f6nbelleklemesini ve Gzip s\u0131k\u0131\u015ft\u0131rmas\u0131n\u0131 etkinle\u015ftirebilirsiniz.<\/p>\n<p>*   <strong>Taray\u0131c\u0131 \u00d6nbellekleme (Expires Headers):<\/strong><br \/>\n    Statik dosyalar\u0131n (resimler, CSS, JS) taray\u0131c\u0131da belirli bir s\u00fcre \u00f6nbelle\u011fe al\u0131nmas\u0131n\u0131 sa\u011flar, b\u00f6ylece tekrarlanan ziyaretlerde daha h\u0131zl\u0131 y\u00fcklenirler.<\/p>\n<pre><code class=\"language-apache\"><IfModule mod_expires.c>\n        ExpiresActive On\n        ExpiresByType image\/jpg \"access 1 year\"\n        ExpiresByType image\/jpeg \"access 1 year\"\n        ExpiresByType image\/gif \"access 1 year\"\n        ExpiresByType image\/png \"access 1 year\"\n        ExpiresByType text\/css \"access 1 month\"\n        ExpiresByType application\/javascript \"access 1 month\"\n        ExpiresByType application\/x-javascript \"access 1 month\"\n        ExpiresByType text\/html \"access 1 week\"\n        ExpiresDefault \"access 1 month\"\n    <\/IfModule><\/code><\/pre>\n<p>*   <strong>Gzip S\u0131k\u0131\u015ft\u0131rma (mod_deflate):<\/strong><br \/>\n    Web sunucusunun metin tabanl\u0131 dosyalar\u0131 (HTML, CSS, JS) s\u0131k\u0131\u015ft\u0131rarak g\u00f6ndermesini sa\u011flar, bu da dosya boyutunu k\u00fc\u00e7\u00fclt\u00fcr ve y\u00fckleme s\u00fcrelerini h\u0131zland\u0131r\u0131r.<\/p>\n<pre><code class=\"language-apache\"><IfModule mod_deflate.c>\n        AddOutputFilterByType DEFLATE text\/plain\n        AddOutputFilterByType DEFLATE text\/html\n        AddOutputFilterByType DEFLATE text\/xml\n        AddOutputFilterByType DEFLATE text\/css\n        AddOutputFilterByType DEFLATE application\/xml\n        AddOutputFilterByType DEFLATE application\/xhtml+xml\n        AddOutputFilterByType DEFLATE application\/rss+xml\n        AddOutputFilterByType DEFLATE application\/javascript\n        AddOutputFilterByType DEFLATE application\/x-javascript\n    <\/IfModule><\/code><\/pre>\n<h3>PHP Ayarlar\u0131<\/h3>\n<p>.htaccess dosyas\u0131 arac\u0131l\u0131\u011f\u0131yla PHP yap\u0131land\u0131rma ayarlar\u0131n\u0131 dizin baz\u0131nda de\u011fi\u015ftirebilirsiniz. Bu, <code>php.ini<\/code> dosyas\u0131na eri\u015fiminiz olmad\u0131\u011f\u0131nda veya farkl\u0131 dizinler i\u00e7in farkl\u0131 PHP ayarlar\u0131 istedi\u011finizde kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p>*   <strong>PHP De\u011ferlerini Ayarlama:<\/strong><\/p>\n<pre><code class=\"language-apache\">php_value upload_max_filesize 64M\n    php_value post_max_size 64M\n    php_value memory_limit 128M\n    php_flag display_errors Off<\/code><\/pre>\n<p>    <code>php_value<\/code> bir de\u011fer atarken, <code>php_flag<\/code> bir bayra\u011f\u0131 (a\u00e7\u0131k\/kapal\u0131) ayarlar.<\/p>\n<h3>Varsay\u0131lan Dizin Sayfas\u0131 (Default Index Page)<\/h3>\n<p>Bir dizine eri\u015fildi\u011finde (\u00f6rne\u011fin, <code>example.com\/blog\/<\/code>), Apache&#8217;nin hangi dosyay\u0131 varsay\u0131lan olarak g\u00f6stermesi gerekti\u011fini belirler.<\/p>\n<pre><code class=\"language-apache\">DirectoryIndex index.php index.html default.html<\/code><\/pre>\n<p>Bu kural, Apache&#8217;ye \u00f6nce <code>index.php<\/code>&#8216;yi, sonra <code>index.html<\/code>&#8216;yi, sonra <code>default.html<\/code>&#8216;yi aramas\u0131n\u0131 s\u00f6yler. Buldu\u011fu ilk dosyay\u0131 g\u00f6sterir.<\/p>\n<h2>.htaccess Kullan\u0131rken Dikkat Edilmesi Gerekenler<\/h2>\n<p>.htaccess g\u00fc\u00e7l\u00fc bir ara\u00e7 olsa da, dikkatsiz kullan\u0131m ciddi sorunlara yol a\u00e7abilir.<\/p>\n<h3>Performans Etkisi<\/h3>\n<p>Her web iste\u011finde Apache, ilgili dizin ve t\u00fcm \u00fcst dizinlerdeki .htaccess dosyalar\u0131n\u0131 okur ve ayr\u0131\u015ft\u0131r\u0131r. \u00c7ok say\u0131da .htaccess dosyas\u0131 veya karma\u015f\u0131k kurallar i\u00e7eren dosyalar, sunucu performans\u0131n\u0131 olumsuz etkileyebilir. M\u00fcmk\u00fcnse, sunucu genelindeki yap\u0131land\u0131rmalar (httpd.conf) tercih edilmelidir, \u00e7\u00fcnk\u00fc bunlar bir kez y\u00fcklenir ve her istekte yeniden i\u015flenmez. Payla\u015f\u0131ml\u0131 bar\u0131nd\u0131rma ortamlar\u0131nda bu genellikle bir se\u00e7enek de\u011fildir, bu y\u00fczden .htaccess&#8217;i dikkatli kullanmak \u00f6nemlidir.<\/p>\n<h3>S\u00f6zdizimi Hatalar\u0131<\/h3>\n<p>.htaccess dosyalar\u0131ndaki en ufak bir s\u00f6zdizimi hatas\u0131, web sitenizin &#8220;500 Internal Server Error&#8221; hatas\u0131 vermesine neden olabilir. Bu, sunucunun dosyay\u0131 ayr\u0131\u015ft\u0131ramad\u0131\u011f\u0131 veya ge\u00e7ersiz bir y\u00f6nergeyle kar\u015f\u0131la\u015ft\u0131\u011f\u0131 anlam\u0131na gelir. Her zaman k\u00fc\u00e7\u00fck de\u011fi\u015fiklikler yap\u0131n ve her de\u011fi\u015fiklikten sonra web sitenizi test edin. B\u00fcy\u00fck de\u011fi\u015fiklikler yapmadan \u00f6nce dosyan\u0131n bir yede\u011fini almak iyi bir uygulamad\u0131r.<\/p>\n<h3><code>AllowOverride<\/code> Y\u00f6nergesi<\/h3>\n<p>.htaccess dosyalar\u0131n\u0131n i\u015flevselli\u011fi, Apache&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131ndaki (<code>httpd.conf<\/code>) <code>AllowOverride<\/code> y\u00f6nergesi taraf\u0131ndan kontrol edilir. Bu y\u00f6nerge, .htaccess dosyalar\u0131nda hangi t\u00fcr y\u00f6nergelerin kullan\u0131labilece\u011fini belirler. \u00d6rne\u011fin, <code>AllowOverride None<\/code> ise hi\u00e7bir .htaccess y\u00f6nergesi \u00e7al\u0131\u015fmaz. <code>AllowOverride All<\/code> ise t\u00fcm y\u00f6nergelere izin verir. Payla\u015f\u0131ml\u0131 bar\u0131nd\u0131rma sa\u011flay\u0131c\u0131lar\u0131 genellikle performans ve g\u00fcvenlik nedenleriyle belirli y\u00f6nerge t\u00fcrlerine izin verir (\u00f6rne\u011fin, <code>AllowOverride FileInfo AuthConfig Indexes<\/code>). Kendi sunucunuzu y\u00f6netiyorsan\u0131z, bu ayar\u0131 ihtiya\u00e7lar\u0131n\u0131za g\u00f6re yap\u0131land\u0131rabilirsiniz.<\/p>\n<h3>Kapsam ve Miras Alma<\/h3>\n<p>.htaccess dosyalar\u0131, bulundu\u011fu dizin ve t\u00fcm alt dizinleri i\u00e7in ge\u00e7erlidir. Alt dizinlerdeki .htaccess dosyalar\u0131, \u00fcst dizinlerdeki ayn\u0131 y\u00f6nergeleri ge\u00e7ersiz k\u0131labilir. Bu, belirli bir alt dizin i\u00e7in farkl\u0131 kurallar belirlemenize olanak tan\u0131r, ancak ayn\u0131 zamanda beklenmedik davran\u0131\u015flara da yol a\u00e7abilir. Kurallar\u0131n s\u0131ralamas\u0131 ve hangi dizinde hangi kural\u0131n etkili olaca\u011f\u0131 konusunda dikkatli olmak gerekir. <code>RewriteBase<\/code> y\u00f6nergesi, <code>mod_rewrite<\/code> kurallar\u0131n\u0131n temel yolunu belirtmek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r ve \u00f6zellikle bir alt dizinde \u00e7al\u0131\u015f\u0131rken \u00f6nemlidir.<\/p>\n<h3>G\u00fcvenlik Riskleri<\/h3>\n<p>Yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f bir .htaccess dosyas\u0131, web sitenizde g\u00fcvenlik a\u00e7\u0131klar\u0131 yaratabilir. \u00d6rne\u011fin, <code>Options +Indexes<\/code> komutunu yanl\u0131\u015fl\u0131kla etkinle\u015ftirmek, ziyaret\u00e7ilerin dizinlerinizin i\u00e7eri\u011fini g\u00f6rmesine neden olabilir. Hassas bilgileri (veritaban\u0131 kimlik bilgileri gibi) .htaccess dosyas\u0131na do\u011frudan yazmaktan ka\u00e7\u0131n\u0131n. \u015eifre korumal\u0131 dizinler i\u00e7in kullan\u0131lan <code>.htpasswd<\/code> dosyas\u0131n\u0131 asla web k\u00f6k dizininin i\u00e7ine koymay\u0131n; aksi takdirde herkes taraf\u0131ndan eri\u015filebilir hale gelebilir.<\/p>\n<h2>Geli\u015fmi\u015f .htaccess \u0130pu\u00e7lar\u0131<\/h2>\n<p>Temel kullan\u0131m alanlar\u0131n\u0131n \u00f6tesinde, .htaccess dosyas\u0131 daha geli\u015fmi\u015f senaryolar i\u00e7in de kullan\u0131labilir.<\/p>\n<h3>\u00c7evre De\u011fi\u015fkenleri (Environment Variables)<\/h3>\n<p>PHP veya di\u011fer sunucu taraf\u0131 uygulamalar\u0131n\u0131z i\u00e7in \u00f6zel ortam de\u011fi\u015fkenleri ayarlayabilirsiniz.<\/p>\n<pre><code class=\"language-apache\">SetEnv APP_ENV production\nSetEnv DB_HOST localhost<\/code><\/pre>\n<p>Bu de\u011fi\u015fkenlere PHP&#8217;de <code>$_SERVER['APP_ENV']<\/code> veya <code>getenv('APP_ENV')<\/code> ile eri\u015filebilir.<\/p>\n<h3>MIME T\u00fcrleri<\/h3>\n<p>Taray\u0131c\u0131n\u0131n belirli dosya t\u00fcrlerini do\u011fru \u015fekilde yorumlamas\u0131n\u0131 sa\u011flamak i\u00e7in MIME t\u00fcrlerini belirleyebilirsiniz. Bu, \u00f6zellikle \u00f6zel dosya t\u00fcrleri veya web fontlar\u0131 kullan\u0131rken faydal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-apache\">AddType application\/x-font-woff .woff\nAddType application\/font-woff2 .woff2\nAddType image\/svg+xml .svg .svgz<\/code><\/pre>\n<h3>Karakter K\u00fcmeleri<\/h3>\n<p>Web sitenizin varsay\u0131lan karakter k\u00fcmesini belirleyerek, taray\u0131c\u0131lar\u0131n i\u00e7eri\u011fi do\u011fru \u015fekilde g\u00f6r\u00fcnt\u00fclemesini sa\u011flayabilirsiniz. UTF-8, modern web siteleri i\u00e7in standartt\u0131r.<\/p>\n<pre><code class=\"language-apache\">AddDefaultCharset UTF-8<\/code><\/pre>\n<h2>Sorun Giderme (Troubleshooting)<\/h2>\n<p>.htaccess dosyalar\u0131yla \u00e7al\u0131\u015f\u0131rken sorunlarla kar\u015f\u0131la\u015fmak yayg\u0131nd\u0131r. \u0130\u015fte en s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<h3>500 Internal Server Error<\/h3>\n<p>Bu, .htaccess dosyas\u0131yla ilgili en yayg\u0131n hatad\u0131r ve genellikle bir s\u00f6zdizimi hatas\u0131ndan kaynaklan\u0131r.<br \/>\n*   <strong>Son De\u011fi\u015fiklikleri Kontrol Edin:<\/strong> Hatay\u0131 tetikleyen son de\u011fi\u015fikli\u011fi geri al\u0131n.<br \/>\n*   <strong>Sat\u0131r Sat\u0131r Yorum Sat\u0131r\u0131 Yap\u0131n:<\/strong> .htaccess dosyan\u0131zdaki kurallar\u0131 tek tek yorum sat\u0131r\u0131 yaparak (sat\u0131r\u0131n ba\u015f\u0131na <code>#<\/code> koyarak) hangi kural\u0131n hataya neden oldu\u011funu bulmaya \u00e7al\u0131\u015f\u0131n.<br \/>\n*   <strong>Apache Hata G\u00fcnl\u00fcklerini Kontrol Edin:<\/strong> Sunucunuzun hata g\u00fcnl\u00fckleri (error logs), hatan\u0131n tam nedenini genellikle a\u00e7\u0131k\u00e7a belirtir. Bu g\u00fcnl\u00fckler genellikle cPanel veya bar\u0131nd\u0131rma kontrol paneliniz arac\u0131l\u0131\u011f\u0131yla eri\u015filebilir.<br \/>\n*   <strong>S\u00f6zdizimini Kontrol Edin:<\/strong> Y\u00f6nergelerin do\u011fru yaz\u0131ld\u0131\u011f\u0131ndan, a\u00e7\u0131l\u0131\u015f\/kapan\u0131\u015f etiketlerinin (<code><IfModule><\/code>) e\u015fle\u015fti\u011finden ve bo\u015fluklar\u0131n\/sat\u0131r sonlar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun.<\/p>\n<h3>Kurallar\u0131n \u00c7al\u0131\u015fmamas\u0131<\/h3>\n<p>Bir kural\u0131 eklediniz ama bekledi\u011finiz gibi \u00e7al\u0131\u015fm\u0131yor olabilir.<br \/>\n*   <strong><code>AllowOverride<\/code> Ayar\u0131n\u0131 Kontrol Edin:<\/strong> Apache&#8217;nin ana yap\u0131land\u0131rmas\u0131nda (httpd.conf) veya bar\u0131nd\u0131rma sa\u011flay\u0131c\u0131n\u0131z\u0131n ayarlar\u0131nda, kullanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131z y\u00f6nerge t\u00fcr\u00fcne izin verilip verilmedi\u011fini kontrol edin. \u00d6rne\u011fin, <code>mod_rewrite<\/code> kurallar\u0131n\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in <code>AllowOverride FileInfo<\/code> veya <code>AllowOverride All<\/code> gerekir.<br \/>\n*   <strong><code>mod_rewrite<\/code>&#8216;\u0131n Etkin Oldu\u011fundan Emin Olun:<\/strong> <code>RewriteEngine On<\/code> y\u00f6nergesinin dosyan\u0131n ba\u015f\u0131nda oldu\u011fundan emin olun.<br \/>\n*   <strong>Kurallar\u0131n S\u0131ralamas\u0131:<\/strong> Kurallar\u0131n s\u0131ras\u0131 \u00f6nemlidir. Baz\u0131 kurallar di\u011ferlerini engelleyebilir veya beklenmedik sonu\u00e7lar do\u011furabilir. En spesifik kurallar\u0131 en \u00fcste, daha genel kurallar\u0131 alta koymay\u0131 deneyin.<br \/>\n*   <strong>Yol ve D\u00fczenli \u0130fade (Regex) Kontrol\u00fc:<\/strong> <code>RewriteRule<\/code> ve <code>RewriteCond<\/code> i\u00e7indeki d\u00fczenli ifadelerin do\u011fru oldu\u011fundan ve yollar\u0131n do\u011fru \u015fekilde e\u015fle\u015fti\u011finden emin olun.<br \/>\n*   <strong><code>RewriteLog<\/code> ve <code>RewriteLogLevel<\/code>:<\/strong> Kendi sunucunuzu y\u00f6netiyorsan\u0131z, Apache yap\u0131land\u0131rmas\u0131nda <code>RewriteLog<\/code> ve <code>RewriteLogLevel<\/code> y\u00f6nergelerini etkinle\u015ftirerek <code>mod_rewrite<\/code>&#8216;\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 detayl\u0131 olarak g\u00f6rebilirsiniz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>.htaccess dosyas\u0131, Apache web sunucusu kullan\u0131c\u0131lar\u0131 i\u00e7in inan\u0131lmaz derecede g\u00fc\u00e7l\u00fc ve esnek bir ara\u00e7t\u0131r. URL y\u00f6nlendirmeleri ve yeniden yazma i\u015flemlerinden g\u00fcvenlik \u00f6nlemlerine, performans optimizasyonlar\u0131ndan \u00f6zel hata sayfalar\u0131na kadar geni\u015f bir yelpazede web sitesi yap\u0131land\u0131rma g\u00f6revlerini yerine getirebilir. \u00d6zellikle payla\u015f\u0131ml\u0131 bar\u0131nd\u0131rma ortamlar\u0131nda, sunucu genelindeki ayarlara eri\u015fimi olmayan web y\u00f6neticileri ve geli\u015ftiriciler i\u00e7in vazge\u00e7ilmezdir.<\/p>\n<p>Ancak, .htaccess kullan\u0131rken dikkatli olmak ve her zaman en iyi uygulamalar\u0131 takip etmek hayati \u00f6neme sahiptir. Yanl\u0131\u015f bir s\u00f6zdizimi veya hatal\u0131 bir kural, web sitenizin eri\u015filemez hale gelmesine neden olabilir. Bu nedenle, herhangi bir de\u011fi\u015fiklik yapmadan \u00f6nce daima dosyan\u0131n yede\u011fini al\u0131n, k\u00fc\u00e7\u00fck de\u011fi\u015fiklikler yap\u0131n ve her de\u011fi\u015fikli\u011fi titizlikle test edin. Sunucu g\u00fcnl\u00fcklerini kontrol etme al\u0131\u015fkanl\u0131\u011f\u0131 edinmek, sorun giderme s\u00fcrecinde size \u00e7ok yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<p>Bu rehber, .htaccess dosyas\u0131n\u0131n temel ve geli\u015fmi\u015f kullan\u0131m alanlar\u0131n\u0131 kapsaml\u0131 bir \u015fekilde ele alarak, bu g\u00fc\u00e7l\u00fc arac\u0131 daha etkin ve g\u00fcvenli bir \u015fekilde kullanman\u0131z i\u00e7in size yol g\u00f6stermeyi ama\u00e7lam\u0131\u015ft\u0131r. Do\u011fru bilgi ve dikkatli uygulama ile .htaccess, web sitenizin kontrol\u00fcn\u00fc elinize alman\u0131z\u0131 ve kullan\u0131c\u0131 deneyimini \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirmenizi sa\u011flayacakt\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber\nGiri\u015f\nWeb sunucular\u0131 d\u00fcnyas\u0131nda, \u00f6zellikle Apache kullanan ortamlar i\u00e7in .htaccess","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-37178","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>.htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber Giri\u015f Web sunucular\u0131 d\u00fcnyas\u0131nda, \u00f6zellikle Apache kullanan ortamlar i\u00e7in .htaccess\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-28T10:40:43+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-12-28T10:40:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/\"},\"wordCount\":2576,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/\",\"name\":\".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-28T10:40:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber","og_description":".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber Giri\u015f Web sunucular\u0131 d\u00fcnyas\u0131nda, \u00f6zellikle Apache kullanan ortamlar i\u00e7in .htaccess","og_url":"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-28T10:40:43+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"14 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber","datePublished":"2025-12-28T10:40:43+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/"},"wordCount":2576,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/","name":".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-28T10:40:43+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/htaccess-dosyasi-nasil-kullanilir-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":".htaccess Dosyas\u0131 Nas\u0131l Kullan\u0131l\u0131r? Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37178"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37178\/revisions"}],"predecessor-version":[{"id":37179,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37178\/revisions\/37179"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}