{"id":37591,"date":"2026-01-10T00:41:00","date_gmt":"2026-01-09T21:41:00","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37591"},"modified":"2026-01-10T00:41:00","modified_gmt":"2026-01-09T21:41:00","slug":"apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/","title":{"rendered":"Apache&#8217;yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma"},"content":{"rendered":"<p><body><\/p>\n<h2>Apache&#8217;yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma<\/h2>\n<h2>Giri\u015f<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn rekabet\u00e7i dijital d\u00fcnyas\u0131nda, web sitelerinin kullan\u0131c\u0131 deneyimi, ba\u015far\u0131n\u0131n anahtarlar\u0131ndan biridir. Bir web sitesini ziyaret eden kullan\u0131c\u0131lar, sorunsuz bir gezinme deneyimi beklerler. Ancak, zaman zaman \u00e7e\u015fitli nedenlerle hatalar meydana gelebilir: yanl\u0131\u015f bir URL yaz\u0131labilir, kald\u0131r\u0131lm\u0131\u015f bir sayfaya eri\u015filmeye \u00e7al\u0131\u015f\u0131labilir veya sunucu taraf\u0131nda beklenmedik bir problem olu\u015fabilir. Bu gibi durumlarda, Apache HTTP Sunucusu varsay\u0131lan olarak teknik detaylar i\u00e7eren veya estetik olmayan standart hata sayfalar\u0131n\u0131 g\u00f6sterir. Bu varsay\u0131lan sayfalar, hem kullan\u0131c\u0131 deneyimi a\u00e7\u0131s\u0131ndan yetersiz kal\u0131r hem de web sitesinin marka kimli\u011fiyle uyumsuz bir g\u00f6r\u00fcnt\u00fc sergiler.<\/p>\n<p>\u00d6zel hata sayfalar\u0131, bu t\u00fcr durumlar\u0131 bir f\u0131rsata d\u00f6n\u00fc\u015ft\u00fcrmenin g\u00fc\u00e7l\u00fc bir yoludur. Bir 404 &#8220;Sayfa Bulunamad\u0131&#8221; hatas\u0131yla kar\u015f\u0131la\u015fan bir kullan\u0131c\u0131ya sadece teknik bir mesaj g\u00f6stermek yerine, markan\u0131z\u0131n logosunu ta\u015f\u0131yan, kullan\u0131c\u0131 dostu bir dille yaz\u0131lm\u0131\u015f, ana sayfaya veya ilgili kategorilere y\u00f6nlendiren ba\u011flant\u0131lar i\u00e7eren bir sayfa sunmak, kullan\u0131c\u0131n\u0131n siteden ayr\u0131lma olas\u0131l\u0131\u011f\u0131n\u0131 azalt\u0131r ve genel memnuniyetini art\u0131r\u0131r. Ayn\u0131 \u015fekilde, bir 500 &#8220;Dahili Sunucu Hatas\u0131&#8221; durumunda, kullan\u0131c\u0131lara sorunun fark\u0131nda olundu\u011funu ve \u00fczerinde \u00e7al\u0131\u015f\u0131ld\u0131\u011f\u0131n\u0131 bildiren nazik bir mesaj g\u00f6stermek, profesyonel bir imaj \u00e7izer ve kullan\u0131c\u0131lar\u0131n g\u00fcvenini peki\u015ftirir.<\/p>\n<p>Bu makalede, Apache HTTP Sunucusunu CentOS 7 i\u015fletim sistemi \u00fczerinde \u00f6zel hata sayfalar\u0131n\u0131 kullanacak \u015fekilde nas\u0131l yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m detayland\u0131raca\u011f\u0131z. Kendi hata sayfalar\u0131n\u0131z\u0131 olu\u015fturmaktan, Apache yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenlemeye, SELinux ve g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131 yapmaya ve yap\u0131land\u0131rman\u0131z\u0131 test etmeye kadar t\u00fcm s\u00fcreci kapsayaca\u011f\u0131z. Ayr\u0131ca, ileri d\u00fczey yap\u0131land\u0131rma ipu\u00e7lar\u0131 ve s\u0131k\u00e7a sorulan sorularla bu konudaki bilginizi peki\u015ftirece\u011fiz. Bu rehber sayesinde, web sitenizin hata durumlar\u0131nda bile profesyonel ve kullan\u0131c\u0131 odakl\u0131 bir deneyim sunmas\u0131n\u0131 sa\u011flayabileceksiniz.<\/p>\n<h2>\u00d6n Gereksinimler<\/h2>\n<p>Bu yap\u0131land\u0131rma s\u00fcrecine ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlere sahip oldu\u011funuzdan emin olun:<\/p>\n<p>*   <strong>CentOS 7 Sunucusu:<\/strong> \u00dczerinde Apache HTTP Sunucusu kurulu ve \u00e7al\u0131\u015f\u0131r durumda olan bir CentOS 7 i\u015fletim sistemi.<br \/>\n*   <strong>Apache HTTP Sunucusu:<\/strong> Sisteminizde Apache&#8217;nin kurulu ve aktif olmas\u0131 gerekmektedir. Kurulum i\u00e7in <code>sudo yum install httpd<\/code> komutunu kullanabilirsiniz.<br \/>\n*   <strong>Root veya Sudo Yetkileri:<\/strong> Yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenlemek ve sistem servislerini y\u00f6netmek i\u00e7in <code>root<\/code> kullan\u0131c\u0131s\u0131 veya <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 hesab\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r.<br \/>\n*   <strong>Temel Linux Komut Sat\u0131r\u0131 Bilgisi:<\/strong> Dosya olu\u015fturma, d\u00fczenleme, dizinlerde gezinme gibi temel komut sat\u0131r\u0131 i\u015flemlerine a\u015fina olman\u0131z beklenmektedir.<br \/>\n*   <strong>Metin D\u00fczenleyici:<\/strong> <code>vi<\/code>, <code>nano<\/code> veya benzeri bir komut sat\u0131r\u0131 metin d\u00fczenleyicisi.<\/p>\n<h2>Ad\u0131m 1: \u00d6zel Hata Sayfalar\u0131n\u0131 Olu\u015fturma<\/h2>\n<p>\u00d6zel hata sayfalar\u0131n\u0131 yap\u0131land\u0131rman\u0131n ilk ad\u0131m\u0131, bu sayfalar\u0131n kendilerini olu\u015fturmakt\u0131r. Bu sayfalar, kullan\u0131c\u0131lara hata durumunda g\u00f6sterilecek i\u00e7eri\u011fi bar\u0131nd\u0131ran basit HTML dosyalar\u0131 olacakt\u0131r.<\/p>\n<h3>Hata Sayfalar\u0131 \u0130\u00e7in Dizin Olu\u015fturma<\/h3>\n<p>\u00d6ncelikle, hata sayfalar\u0131n\u0131z\u0131 web sunucunuzun eri\u015febilece\u011fi bir dizinde saklaman\u0131z gerekir. Genellikle bu dizin, Apache&#8217;nin <code>DocumentRoot<\/code>&#8216;u alt\u0131nda bir alt dizin olarak olu\u015fturulur. Varsay\u0131lan olarak, CentOS 7&#8217;de Apache&#8217;nin <code>DocumentRoot<\/code>&#8216;u <code>\/var\/www\/html<\/code>&#8216;dir. Hata sayfalar\u0131m\u0131z i\u00e7in bu dizin alt\u0131nda <code>errors<\/code> ad\u0131nda bir alt dizin olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/html\/errors<\/code><\/pre>\n<p>Bu komut, <code>\/var\/www\/html\/errors<\/code> dizinini olu\u015fturacakt\u0131r. <code>-p<\/code> parametresi, \u00fcst dizinler mevcut de\u011filse onlar\u0131 da olu\u015fturur.<\/p>\n<h3>\u00d6rnek Hata Sayfalar\u0131 Olu\u015fturma<\/h3>\n<p>\u015eimdi, bu dizin i\u00e7ine \u00f6zel hata sayfalar\u0131m\u0131z\u0131 olu\u015ftural\u0131m. En yayg\u0131n hata kodlar\u0131 403 (Yasakl\u0131), 404 (Bulunamad\u0131), 500 (Dahili Sunucu Hatas\u0131) ve 503 (Servis Kullan\u0131lam\u0131yor) gibi kodlard\u0131r. Her biri i\u00e7in ayr\u0131 bir HTML dosyas\u0131 olu\u015fturaca\u011f\u0131z.<\/p>\n<p>A\u015fa\u011f\u0131da, \u00f6rnek bir 404 hata sayfas\u0131 i\u00e7in HTML i\u00e7eri\u011fi bulunmaktad\u0131r. Di\u011fer hata kodlar\u0131 i\u00e7in de benzer bir yap\u0131y\u0131 kullanabilirsiniz, sadece ba\u015fl\u0131\u011f\u0131 ve mesaj\u0131 ilgili hata koduna g\u00f6re de\u011fi\u015ftirmeniz yeterlidir.<\/p>\n<p><strong><code>\/var\/www\/html\/errors\/404.html<\/code> dosyas\u0131 i\u00e7in \u00f6rnek i\u00e7erik:<\/strong><\/p>\n<pre><code class=\"language-html\"><!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>404 - Sayfa Bulunamad\u0131<\/title>\n    <style>\n        body {\n            font-family: Arial, sans-serif;\n            background-color: #f4f4f4;\n            color: #333;\n            text-align: center;\n            padding: 50px;\n        }\n        .container {\n            background-color: #fff;\n            margin: 0 auto;\n            padding: 30px;\n            border-radius: 8px;\n            box-shadow: 0 0 10px rgba(0,0,0,0.1);\n            max-width: 600px;\n        }\n        h1 {\n            color: #d9534f;\n            font-size: 3em;\n            margin-bottom: 10px;\n        }\n        p {\n            font-size: 1.1em;\n            line-height: 1.6;\n        }\n        a {\n            color: #007bff;\n            text-decoration: none;\n        }\n        a:hover {\n            text-decoration: underline;\n        }\n        .logo {\n            margin-bottom: 20px;\n        }\n        .logo img {\n            max-width: 150px;\n            height: auto;\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <div class=\"logo\">\n            <!-- Markan\u0131z\u0131n logosunu buraya ekleyebilirsiniz -->\n            <img decoding=\"async\" src=\"\/images\/your_logo.png\" alt=\"Sitenizin Logosu\">\n        <\/div>\n        \n        <p>\u00dczg\u00fcn\u00fcz, arad\u0131\u011f\u0131n\u0131z sayfa bulunamad\u0131. Bu bir yaz\u0131m hatas\u0131 olabilir veya sayfa ta\u015f\u0131nm\u0131\u015f ya da kald\u0131r\u0131lm\u0131\u015f olabilir.<\/p>\n        <p>L\u00fctfen a\u015fa\u011f\u0131daki ba\u011flant\u0131lar\u0131 kullanarak sitenizde gezinmeye devam edin:<\/p>\n        <p>\n            <a href=\"\/\">Ana Sayfaya D\u00f6n<\/a> | \n            <a href=\"\/contact\">Bize Ula\u015f\u0131n<\/a> | \n            <a href=\"\/sitemap\">Site Haritas\u0131<\/a>\n        <\/p>\n        <p>Sorun devam ederse, l\u00fctfen <a href=\"mailto:destek@example.com\">destek ekibimizle ileti\u015fime ge\u00e7in<\/a>.<\/p>\n    <\/div>\n<\/body>\n<\/html><\/code><\/pre>\n<p>Bu HTML dosyas\u0131n\u0131 <code>\/var\/www\/html\/errors\/404.html<\/code> olarak kaydedin. Di\u011fer hata sayfalar\u0131 i\u00e7in de benzer dosyalar olu\u015fturun:<\/p>\n<p>*   <strong><code>\/var\/www\/html\/errors\/403.html<\/code> (Yasakl\u0131):<\/strong><\/p>\n<pre><code class=\"language-html\"><!-- 404.html i\u00e7eri\u011fini kopyalay\u0131p ba\u015fl\u0131\u011f\u0131 ve mesaj\u0131 de\u011fi\u015ftirin -->\n    \n    <p>\u00dczg\u00fcn\u00fcz, bu sayfaya eri\u015fim yetkiniz bulunmamaktad\u0131r.<\/p><\/code><\/pre>\n<p>*   <strong><code>\/var\/www\/html\/errors\/500.html<\/code> (Dahili Sunucu Hatas\u0131):<\/strong><\/p>\n<pre><code class=\"language-html\"><!-- 404.html i\u00e7eri\u011fini kopyalay\u0131p ba\u015fl\u0131\u011f\u0131 ve mesaj\u0131 de\u011fi\u015ftirin -->\n    \n    <p>\u00dczg\u00fcn\u00fcz, sunucumuzda beklenmeyen bir hata olu\u015ftu. L\u00fctfen daha sonra tekrar deneyin.<\/p><\/code><\/pre>\n<p>*   <strong><code>\/var\/www\/html\/errors\/503.html<\/code> (Servis Kullan\u0131lam\u0131yor):<\/strong><\/p>\n<pre><code class=\"language-html\"><!-- 404.html i\u00e7eri\u011fini kopyalay\u0131p ba\u015fl\u0131\u011f\u0131 ve mesaj\u0131 de\u011fi\u015ftirin -->\n    \n    <p>Sunucumuz \u015fu anda bak\u0131mda veya a\u015f\u0131r\u0131 y\u00fck alt\u0131nda. L\u00fctfen k\u0131sa bir s\u00fcre sonra tekrar deneyin.<\/p><\/code><\/pre>\n<p>Her bir dosyan\u0131n i\u00e7eri\u011fini olu\u015fturduktan sonra, bu dosyalar\u0131n Apache taraf\u0131ndan okunabilir oldu\u011fundan emin olmak i\u00e7in do\u011fru izinleri ayarlamak \u00f6nemlidir:<\/p>\n<pre><code class=\"language-bash\">sudo chmod -R 755 \/var\/www\/html\/errors\nsudo chown -R apache:apache \/var\/www\/html\/errors<\/code><\/pre>\n<p>Bu komutlar, <code>errors<\/code> dizini ve i\u00e7indeki dosyalar i\u00e7in okuma\/yazma\/\u00e7al\u0131\u015ft\u0131rma izinlerini ayarlar ve sahipliklerini <code>apache<\/code> kullan\u0131c\u0131s\u0131na ve grubuna atar.<\/p>\n<h2>Ad\u0131m 2: Apache Yap\u0131land\u0131rma Dosyas\u0131n\u0131 D\u00fczenleme<\/h2>\n<p>\u00d6zel hata sayfalar\u0131n\u0131z\u0131 olu\u015fturduktan sonra, Apache&#8217;ye bu sayfalar\u0131 ne zaman ve hangi hata kodlar\u0131 i\u00e7in kullanaca\u011f\u0131n\u0131 s\u00f6ylemeniz gerekir. Bu i\u015flem, Apache&#8217;nin yap\u0131land\u0131rma dosyalar\u0131nda <code>ErrorDocument<\/code> direktifi kullan\u0131larak yap\u0131l\u0131r.<\/p>\n<h3>Ana Yap\u0131land\u0131rma Dosyas\u0131 veya Sanal Ana Bilgisayar Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Apache yap\u0131land\u0131rmas\u0131n\u0131 iki ana yerde yapabilirsiniz:<\/p>\n<p>1.  <strong>Genel Yap\u0131land\u0131rma (<code>\/etc\/httpd\/conf\/httpd.conf<\/code>):<\/strong> Bu dosya, Apache sunucusunun t\u00fcm siteler i\u00e7in ge\u00e7erli olan genel ayarlar\u0131n\u0131 i\u00e7erir. E\u011fer sunucunuzda tek bir web sitesi bar\u0131nd\u0131r\u0131yorsan\u0131z veya t\u00fcm siteleriniz i\u00e7in ayn\u0131 hata sayfalar\u0131n\u0131 kullanmak istiyorsan\u0131z buraya ekleyebilirsiniz.<br \/>\n2.  <strong>Sanal Ana Bilgisayar (Virtual Host) Yap\u0131land\u0131rmas\u0131:<\/strong> \u00c7o\u011fu modern Apache kurulumunda, her bir web sitesi veya alan ad\u0131 i\u00e7in ayr\u0131 bir sanal ana bilgisayar yap\u0131land\u0131rma dosyas\u0131 kullan\u0131l\u0131r. Bu dosyalar genellikle <code>\/etc\/httpd\/conf.d\/<\/code> dizini alt\u0131nda veya <code>\/etc\/httpd\/sites-available\/<\/code> ve <code>\/etc\/httpd\/sites-enabled\/<\/code> gibi dizinlerde bulunur. Bu y\u00f6ntem, her site i\u00e7in farkl\u0131 hata sayfalar\u0131 kullanman\u0131za olanak tan\u0131r ve daha d\u00fczenli bir yap\u0131land\u0131rma sa\u011flar.<\/p>\n<p>En iyi uygulama, <code>ErrorDocument<\/code> direktiflerini ilgili sanal ana bilgisayar yap\u0131land\u0131rma dosyas\u0131n\u0131n i\u00e7ine yerle\u015ftirmektir. E\u011fer sanal ana bilgisayar\u0131n\u0131z yoksa, ana <code>httpd.conf<\/code> dosyas\u0131na ekleyebilirsiniz.<\/p>\n<p>\u00d6rnek olarak, <code>example.com<\/code> alan ad\u0131n\u0131z i\u00e7in bir sanal ana bilgisayar yap\u0131land\u0131rma dosyan\u0131z oldu\u011funu varsayal\u0131m: <code>\/etc\/httpd\/conf.d\/example.com.conf<\/code>. Bu dosyay\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/httpd\/conf.d\/example.com.conf<\/code><\/pre>\n<h3>ErrorDocument Direktifi Ekleme<\/h3>\n<p>Sanal ana bilgisayar dosyan\u0131z\u0131n <code><VirtualHost <em>:80><\/code> veya <code><VirtualHost <\/em>:443><\/code> blo\u011funun i\u00e7ine, veya genel <code>httpd.conf<\/code> dosyas\u0131nda uygun bir yere, a\u015fa\u011f\u0131daki <code>ErrorDocument<\/code> direktiflerini ekleyin:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    ServerName example.com\n    DocumentRoot \/var\/www\/html\/example.com\/public_html\n\n    # \u00d6zel Hata Sayfalar\u0131\n    ErrorDocument 400 \/errors\/400.html\n    ErrorDocument 401 \/errors\/401.html\n    ErrorDocument 403 \/errors\/403.html\n    ErrorDocument 404 \/errors\/404.html\n    ErrorDocument 500 \/errors\/500.html\n    ErrorDocument 503 \/errors\/503.html\n\n    <Directory \/var\/www\/html\/example.com\/public_html>\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n\n    # Di\u011fer yap\u0131land\u0131rma ayarlar\u0131...\n<\/VirtualHost><\/code><\/pre>\n<p><strong><code>ErrorDocument<\/code> Direktifinin S\u00f6zdizimi:<\/strong><\/p>\n<p><code>ErrorDocument <hata_kodu> <yol><\/code><\/p>\n<p>*   <code><hata_kodu><\/code>: Apache&#8217;nin yakalamas\u0131n\u0131 istedi\u011finiz HTTP hata kodu (\u00f6rne\u011fin, 404, 500).<br \/>\n*   <code><yol><\/code>: Hata durumunda g\u00f6sterilecek sayfan\u0131n yolu. Bu yol, iki \u015fekilde belirtilebilir:<br \/>\n    *   <strong>Yerel Dosya Yolu (Absolute Path):<\/strong> Apache&#8217;nin <code>DocumentRoot<\/code>&#8216;una g\u00f6re g\u00f6receli bir yol. \u00d6rne\u011fin, <code>\/errors\/404.html<\/code>. Bu, genellikle en iyi y\u00f6ntemdir, \u00e7\u00fcnk\u00fc sunucu i\u00e7indeki bir dosyay\u0131 do\u011frudan i\u015faret eder.<br \/>\n    *   <strong>Mutlak URL:<\/strong> Harici bir siteye veya ayn\u0131 sitenin tam URL&#8217;sine y\u00f6nlendirme. \u00d6rne\u011fin, <code>http:\/\/www.example.com\/errors\/404.html<\/code>. Bu y\u00f6ntem, taray\u0131c\u0131ya bir y\u00f6nlendirme (redirect) g\u00f6nderir ve bu da ek bir a\u011f iste\u011fine neden olabilir.<\/p>\n<p>Yukar\u0131daki \u00f6rnekte, hata sayfalar\u0131m\u0131z i\u00e7in yerel dosya yollar\u0131n\u0131 kulland\u0131k. Bu yollar, Apache&#8217;nin <code>DocumentRoot<\/code>&#8216;u (<code>\/var\/www\/html\/example.com\/public_html<\/code> veya varsay\u0131lan <code>\/var\/www\/html<\/code>) alt\u0131nda yer alan <code>\/errors\/<\/code> dizinine g\u00f6receli olarak de\u011ferlendirilir. Bu nedenle, hata sayfalar\u0131m\u0131z\u0131 <code>DocumentRoot<\/code> alt\u0131nda olu\u015fturdu\u011fumuzdan emin olmal\u0131y\u0131z. E\u011fer hata sayfalar\u0131n\u0131 <code>\/var\/www\/html\/errors<\/code> dizinine koyduysan\u0131z ve <code>DocumentRoot<\/code>&#8216;unuz da <code>\/var\/www\/html<\/code> ise, <code>\/errors\/404.html<\/code> yolu do\u011fru \u00e7al\u0131\u015facakt\u0131r.<\/p>\n<p><strong>\u00d6nemli Not:<\/strong> E\u011fer <code>DocumentRoot<\/code>&#8216;unuz <code>\/var\/www\/html\/example.com\/public_html<\/code> ise, hata sayfalar\u0131n\u0131z\u0131 da bu dizinin alt\u0131nda bir yere (\u00f6rne\u011fin, <code>\/var\/www\/html\/example.com\/public_html\/errors<\/code>) koyman\u0131z veya Apache&#8217;nin bu dosyalara eri\u015febildi\u011finden emin olman\u0131z gerekir. Genellikle hata sayfalar\u0131, ana <code>DocumentRoot<\/code> alt\u0131nda ayr\u0131 bir dizinde tutulur.<\/p>\n<p>Dosyay\u0131 kaydedip kapat\u0131n.<\/p>\n<h2>Ad\u0131m 3: SELinux ve G\u00fcvenlik Duvar\u0131 Ayarlar\u0131<\/h2>\n<p>CentOS 7, g\u00fcvenlik i\u00e7in SELinux (Security-Enhanced Linux) ve FirewallD kullan\u0131r. Apache&#8217;nin yeni olu\u015fturdu\u011funuz hata sayfalar\u0131na eri\u015febilmesi ve web trafi\u011fini i\u015fleyebilmesi i\u00e7in bu g\u00fcvenlik mekanizmalar\u0131n\u0131 do\u011fru \u015fekilde yap\u0131land\u0131rman\u0131z gerekebilir.<\/p>\n<h3>SELinux Ayarlar\u0131<\/h3>\n<p>SELinux, Apache&#8217;nin varsay\u0131lan olarak belirli dizinler d\u0131\u015f\u0131ndaki dosyalara eri\u015fmesini k\u0131s\u0131tlar. Hata sayfalar\u0131n\u0131z\u0131 <code>\/var\/www\/html\/errors<\/code> gibi standart bir web dizini alt\u0131nda olu\u015fturduysan\u0131z, genellikle SELinux otomatik olarak uygun izinleri atar. Ancak, bazen manuel olarak etiketleme yapman\u0131z gerekebilir.<\/p>\n<p>A\u015fa\u011f\u0131daki komutlar, SELinux&#8217;a <code>\/var\/www\/html\/errors<\/code> dizinindeki dosyalar\u0131n web i\u00e7eri\u011fi oldu\u011funu ve Apache&#8217;nin bunlara eri\u015febilece\u011fini bildirir:<\/p>\n<pre><code class=\"language-bash\">sudo semanage fcontext -a -t httpd_sys_content_t \"\/var\/www\/html\/errors(\/.*)?\"\nsudo restorecon -Rv \/var\/www\/html\/errors<\/code><\/pre>\n<p><em>   <code>semanage fcontext -a -t httpd_sys_content_t \"\/var\/www\/html\/errors(\/.<\/em>)?\"<\/code>: Bu komut, <code>\/var\/www\/html\/errors<\/code> dizini ve alt\u0131ndaki t\u00fcm dosyalar i\u00e7in SELinux ba\u011flam\u0131n\u0131 <code>httpd_sys_content_t<\/code> olarak ayarlar. Bu, Apache&#8217;nin bu dosyalara web i\u00e7eri\u011fi olarak eri\u015fmesine izin verir.<br \/>\n*   <code>restorecon -Rv \/var\/www\/html\/errors<\/code>: Bu komut, \u00f6nceki ad\u0131mda tan\u0131mlanan SELinux ba\u011flam\u0131n\u0131 dosya sistemine uygular. <code>-R<\/code> \u00f6zyinelemeli olarak, <code>-v<\/code> ise ayr\u0131nt\u0131l\u0131 \u00e7\u0131kt\u0131 verir.<\/p>\n<p>Bu ad\u0131mlar, Apache&#8217;nin hata sayfalar\u0131n\u0131za eri\u015fimini garanti alt\u0131na al\u0131r.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 (FirewallD) Ayarlar\u0131<\/h3>\n<p>E\u011fer sunucunuzda FirewallD etkinse, Apache&#8217;nin HTTP (80) ve HTTPS (443) portlar\u0131ndan gelen trafi\u011fi kabul etti\u011finden emin olman\u0131z gerekir. Genellikle Apache kurulumu s\u0131ras\u0131nda bu kurallar eklenir, ancak kontrol etmek veya eklemek i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo firewall-cmd --permanent --add-service=http\nsudo firewall-cmd --permanent --add-service=https\nsudo firewall-cmd --reload<\/code><\/pre>\n<p>*   \u0130lk iki komut, HTTP ve HTTPS servislerine kal\u0131c\u0131 olarak izin verir.<br \/>\n*   \u00dc\u00e7\u00fcnc\u00fc komut, g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131 yeniden y\u00fckler, b\u00f6ylece de\u011fi\u015fiklikler hemen etkili olur.<\/p>\n<p>Bu ad\u0131mlar, web sitenizin ve dolay\u0131s\u0131yla \u00f6zel hata sayfalar\u0131n\u0131z\u0131n d\u0131\u015far\u0131dan eri\u015filebilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>Ad\u0131m 4: Apache Yap\u0131land\u0131rmas\u0131n\u0131 Test Etme ve Yeniden Ba\u015flatma<\/h2>\n<p>Yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenledikten ve g\u00fcvenlik ayarlar\u0131n\u0131 yapt\u0131ktan sonra, Apache&#8217;yi yeniden ba\u015flatmadan \u00f6nce yap\u0131land\u0131rma s\u00f6zdizimini kontrol etmek kritik \u00f6neme sahiptir. Bu, olas\u0131 hatalar\u0131n sunucunun ba\u015flamas\u0131n\u0131 engellemesini \u00f6nler.<\/p>\n<h3>Yap\u0131land\u0131rma S\u00f6zdizimini Kontrol Etme<\/h3>\n<p>A\u015fa\u011f\u0131daki komutlardan herhangi birini kullanarak Apache yap\u0131land\u0131rman\u0131z\u0131n s\u00f6zdizimini kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apachectl configtest\n<h2>Veya<\/h2>\nsudo httpd -t<\/code><\/pre>\n<p>E\u011fer yap\u0131land\u0131rman\u0131zda bir hata yoksa, \u00e7\u0131kt\u0131 olarak genellikle <code>Syntax OK<\/code> mesaj\u0131n\u0131 g\u00f6rmelisiniz. Herhangi bir hata durumunda, Apache hatan\u0131n nerede oldu\u011funu belirten bir mesaj g\u00f6sterecektir. Bu durumda, ilgili dosyay\u0131 a\u00e7\u0131p hatay\u0131 d\u00fczeltmeniz gerekir.<\/p>\n<h3>Apache&#8217;yi Yeniden Ba\u015flatma<\/h3>\n<p>Yap\u0131land\u0131rma s\u00f6zdizimi kontrol\u00fc ba\u015far\u0131l\u0131 olduktan sonra, Apache servisini yeniden ba\u015flatarak de\u011fi\u015fikliklerin etkili olmas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart httpd<\/code><\/pre>\n<p>Apache servisinin ba\u015far\u0131l\u0131 bir \u015fekilde yeniden ba\u015flat\u0131ld\u0131\u011f\u0131ndan emin olmak i\u00e7in durumunu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status httpd<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ibaresini g\u00f6rmelisiniz. Herhangi bir hata varsa, <code>journalctl -xe<\/code> komutunu kullanarak daha detayl\u0131 loglara bakabilirsiniz.<\/p>\n<h2>Ad\u0131m 5: \u00d6zel Hata Sayfalar\u0131n\u0131 Test Etme<\/h2>\n<p>Apache&#8217;yi yeniden ba\u015flatt\u0131ktan sonra, \u00f6zel hata sayfalar\u0131n\u0131z\u0131n do\u011fru \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in test etmeniz gerekir.<\/p>\n<h3>404 Not Found (Sayfa Bulunamad\u0131) Testi<\/h3>\n<p>Taray\u0131c\u0131n\u0131zda web sitenizin URL&#8217;sini yaz\u0131n ve ard\u0131ndan var olmayan rastgele bir yol ekleyin:<\/p>\n<pre><code class=\"language-\">http:\/\/your_domain.com\/bu-sayfa-mevcut-degil<\/code><\/pre>\n<p>E\u011fer yap\u0131land\u0131rman\u0131z do\u011fruysa, Apache&#8217;nin varsay\u0131lan 404 sayfas\u0131 yerine olu\u015fturdu\u011funuz \u00f6zel 404.html sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>403 Forbidden (Eri\u015fime \u0130zin Verilmiyor) Testi<\/h3>\n<p>403 hatas\u0131n\u0131 tetiklemek i\u00e7in, genellikle bir dizine eri\u015fimi k\u0131s\u0131tlaman\u0131z gerekir. \u00d6rne\u011fin, <code>.htaccess<\/code> dosyan\u0131zda veya Virtual Host yap\u0131land\u0131rman\u0131zda bir dizin i\u00e7in <code>Require all denied<\/code> veya <code>Options -Indexes<\/code> gibi bir kural tan\u0131mlayabilirsiniz.<\/p>\n<p>Basit bir test i\u00e7in, web sitenizin ana dizininde (\u00f6rne\u011fin, <code>\/var\/www\/html\/example.com\/public_html\/test_dizin<\/code>) bir dizin olu\u015fturun ve i\u00e7ine herhangi bir <code>index.html<\/code> dosyas\u0131 koymay\u0131n. Ard\u0131ndan, bu dizine taray\u0131c\u0131n\u0131zdan eri\u015fmeye \u00e7al\u0131\u015f\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir \/var\/www\/html\/example.com\/public_html\/test_dizin\n<h2>\u0130\u00e7ine index.html koymay\u0131n<\/code><\/pre>\n<\/h2>\n<p>\u015eimdi taray\u0131c\u0131n\u0131zdan <code>http:\/\/your_domain.com\/test_dizin\/<\/code> adresine gidin. E\u011fer dizin listelemesi (Indexes) kapal\u0131ysa, 403 hatas\u0131 almal\u0131s\u0131n\u0131z.<\/p>\n<h3>500 Internal Server Error (Dahili Sunucu Hatas\u0131) Testi<\/h3>\n<p>500 hatas\u0131n\u0131 tetiklemek biraz daha karma\u015f\u0131k olabilir ve genellikle sunucu taraf\u0131nda bir betik hatas\u0131 veya yanl\u0131\u015f bir yap\u0131land\u0131rma ile ili\u015fkilidir. Test ama\u00e7l\u0131 olarak, <code>.htaccess<\/code> dosyan\u0131za bilerek hatal\u0131 bir direktif ekleyebilirsiniz.<\/p>\n<p>\u00d6rne\u011fin, <code>\/var\/www\/html\/example.com\/public_html\/.htaccess<\/code> dosyas\u0131na a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code class=\"language-\">ErrorDocument 500 \/non-existent-file-that-will-cause-error<\/code><\/pre>\n<p>Bu, kendisi bir 500 hatas\u0131na neden olmayabilir, ancak bir d\u00f6ng\u00fcye veya ba\u015fka bir hataya yol a\u00e7abilir. Daha garantili bir 500 hatas\u0131 i\u00e7in, Apache&#8217;nin CGI betiklerini \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131 bir ortamda hatal\u0131 bir Perl veya PHP beti\u011fi olu\u015fturabilirsiniz.<\/p>\n<p><strong>\u00d6nemli:<\/strong> Testler bittikten sonra, olu\u015fturdu\u011funuz test dosyalar\u0131n\u0131 veya hatal\u0131 yap\u0131land\u0131rmalar\u0131 kald\u0131rmay\u0131 unutmay\u0131n!<\/p>\n<h2>\u0130leri D\u00fczey Yap\u0131land\u0131rma ve En \u0130yi Uygulamalar<\/h2>\n<p>\u00d6zel hata sayfalar\u0131n\u0131 temel d\u00fczeyde yap\u0131land\u0131rmak kolayd\u0131r, ancak kullan\u0131c\u0131 deneyimini daha da geli\u015ftirmek ve daha g\u00fc\u00e7l\u00fc \u00f6zellikler eklemek i\u00e7in baz\u0131 ileri d\u00fczey teknikler ve en iyi uygulamalar bulunmaktad\u0131r.<\/p>\n<h3>Hata Sayfalar\u0131n\u0131 Dinamik Hale Getirme<\/h3>\n<p>Statik HTML hata sayfalar\u0131 yeterli olsa da, PHP, Python veya di\u011fer sunucu taraf\u0131 betik dillerini kullanarak dinamik hata sayfalar\u0131 olu\u015fturmak size daha fazla esneklik sa\u011flar.<\/p>\n<p><strong>Neden Dinamik Hata Sayfalar\u0131?<\/strong><\/p>\n<p>*   <strong>Dinamik \u0130\u00e7erik:<\/strong> Hata sayfas\u0131na o anki tarih\/saat, kullan\u0131c\u0131n\u0131n IP adresi, referans URL&#8217;si veya hata kodu gibi dinamik bilgiler ekleyebilirsiniz.<br \/>\n*   <strong>Loglama:<\/strong> Hata sayfas\u0131na gelen istekleri veritaban\u0131na kaydedebilir veya \u00f6zel bir log dosyas\u0131na yazarak, hangi hata kodlar\u0131n\u0131n ne s\u0131kl\u0131kla tetiklendi\u011fini izleyebilirsiniz. Bu, web sitenizdeki sorunlar\u0131 tespit etmede ve gidermede \u00e7ok de\u011ferli olabilir.<br \/>\n*   <strong>\u0130leti\u015fim Formlar\u0131:<\/strong> Kullan\u0131c\u0131lar\u0131n do\u011frudan hata sayfas\u0131ndan bir sorun bildirmesi i\u00e7in k\u00fc\u00e7\u00fck bir ileti\u015fim formu ekleyebilirsiniz.<br \/>\n*   <strong>A\/B Testi:<\/strong> Farkl\u0131 hata sayfas\u0131 tasar\u0131mlar\u0131n\u0131 test ederek kullan\u0131c\u0131lar\u0131n hangi tasar\u0131ma daha iyi tepki verdi\u011fini \u00f6l\u00e7ebilirsiniz.<\/p>\n<p><strong>\u00d6rnek PHP Hata Sayfas\u0131 (<code>\/var\/www\/html\/errors\/404.php<\/code>):<\/strong><\/p>\n<pre><code class=\"language-php\"><?php\n    header(\"HTTP\/1.0 404 Not Found\"); \/\/ Hata kodunu do\u011fru \u015fekilde ayarla\n    $requested_uri = $_SERVER['REQUEST_URI'];\n    $remote_ip = $_SERVER['REMOTE_ADDR'];\n    $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Yok';\n\n    \/\/ Hata loglama \u00f6rne\u011fi\n    error_log(\"404 Not Found: \" . $requested_uri . \" from IP: \" . $remote_ip . \" Referer: \" . $referer);\n?>\n<!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>404 - Sayfa Bulunamad\u0131<\/title>\n    <style>\n        \/<em> CSS kodlar\u0131 burada <\/em>\/\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        \n        <p>\u00dczg\u00fcn\u00fcz, arad\u0131\u011f\u0131n\u0131z sayfa bulunamad\u0131: <strong><?php echo htmlspecialchars($requested_uri); ?><\/strong><\/p>\n        <p>L\u00fctfen a\u015fa\u011f\u0131daki ba\u011flant\u0131lar\u0131 kullanarak sitenizde gezinmeye devam edin:<\/p>\n        <p><a href=\"\/\">Ana Sayfaya D\u00f6n<\/a><\/p>\n        <p>Bu hata <?php echo date('Y-m-d H:i:s'); ?> tarihinde kaydedilmi\u015ftir.<\/p>\n    <\/div>\n<\/body>\n<\/html><\/code><\/pre>\n<p>Bu durumda, Apache yap\u0131land\u0131rman\u0131zda <code>ErrorDocument 404 \/errors\/404.php<\/code> \u015feklinde bir direktif kullan\u0131rs\u0131n\u0131z. PHP&#8217;nin Apache ile do\u011fru \u015fekilde entegre oldu\u011fundan emin olun (PHP mod\u00fcl\u00fc kurulu ve etkin olmal\u0131).<\/p>\n<h3>.htaccess Kullan\u0131m\u0131<\/h3>\n<p>Payla\u015f\u0131ml\u0131 hosting ortamlar\u0131nda veya sunucu genel yap\u0131land\u0131rma dosyalar\u0131na eri\u015fiminizin olmad\u0131\u011f\u0131 durumlarda, <code>.htaccess<\/code> dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla \u00f6zel hata sayfalar\u0131n\u0131 yap\u0131land\u0131rabilirsiniz. Bunun i\u00e7in Apache yap\u0131land\u0131rman\u0131zda (genellikle Virtual Host blo\u011funda) <code>AllowOverride All<\/code> veya en az\u0131ndan <code>AllowOverride AuthConfig<\/code> ayar\u0131n\u0131n etkin olmas\u0131 gerekir.<\/p>\n<p><code>.htaccess<\/code> dosyan\u0131za a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-apache\">ErrorDocument 404 \/errors\/404.html\nErrorDocument 403 \/errors\/403.html\nErrorDocument 500 \/errors\/500.html<\/code><\/pre>\n<p><code>.htaccess<\/code> dosyalar\u0131n\u0131n her istekte yeniden i\u015flenmesi gerekti\u011fi i\u00e7in performans \u00fczerinde k\u00fc\u00e7\u00fck bir etkisi olabilir. M\u00fcmk\u00fcnse, <code>VirtualHost<\/code> yap\u0131land\u0131rmas\u0131n\u0131 kullanmak daha verimlidir.<\/p>\n<h3>Kullan\u0131c\u0131 Deneyimi Odakl\u0131 Tasar\u0131m<\/h3>\n<p>\u00d6zel hata sayfalar\u0131n\u0131z\u0131n sadece \u00e7al\u0131\u015fmas\u0131 yeterli de\u011fildir; ayn\u0131 zamanda kullan\u0131c\u0131 dostu ve markan\u0131zla uyumlu olmalar\u0131 da \u00f6nemlidir.<\/p>\n<p>*   <strong>Net ve Yard\u0131mc\u0131 Mesajlar:<\/strong> Hatan\u0131n ne oldu\u011funu ve kullan\u0131c\u0131n\u0131n ne yapmas\u0131 gerekti\u011fini a\u00e7\u0131k\u00e7a belirtin. Teknik jargondan ka\u00e7\u0131n\u0131n.<br \/>\n*   <strong>Site Navigasyonuna Kolay Eri\u015fim:<\/strong> Ana sayfa, ileti\u015fim sayfas\u0131, site haritas\u0131 veya pop\u00fcler kategorilere ba\u011flant\u0131lar ekleyerek kullan\u0131c\u0131n\u0131n siteden ayr\u0131lmas\u0131n\u0131 engelleyin.<br \/>\n*   <strong>Marka Kimli\u011fi:<\/strong> Logonuzu, renklerinizi ve yaz\u0131 tiplerinizi kullanarak hata sayfas\u0131n\u0131n web sitenizin geri kalan\u0131yla tutarl\u0131 g\u00f6r\u00fcnmesini sa\u011flay\u0131n.<br \/>\n*   <strong>Mobil Uyumluluk:<\/strong> Hata sayfalar\u0131n\u0131z\u0131n mobil cihazlarda da d\u00fczg\u00fcn g\u00f6r\u00fcnt\u00fclendi\u011finden emin olun.<br \/>\n*   <strong>Geri Bildirim Mekanizmas\u0131:<\/strong> Kullan\u0131c\u0131lar\u0131n hata hakk\u0131nda geri bildirim g\u00f6nderebilecekleri basit bir form veya e-posta adresi sunun.<\/p>\n<h3>G\u00fcvenlik Hususlar\u0131<\/h3>\n<p>Hata sayfalar\u0131 tasarlarken g\u00fcvenli\u011fi g\u00f6z \u00f6n\u00fcnde bulundurmak \u00f6nemlidir:<\/p>\n<p>*   <strong>Gereksiz Bilgilerden Ka\u00e7\u0131n\u0131n:<\/strong> Hata sayfalar\u0131nda sunucu s\u00fcr\u00fcm\u00fc, i\u015fletim sistemi detaylar\u0131 veya veritaban\u0131 ba\u011flant\u0131 hatalar\u0131 gibi hassas teknik bilgileri g\u00f6stermekten ka\u00e7\u0131n\u0131n. Bu bilgiler, k\u00f6t\u00fc niyetli ki\u015filerin sunucunuzdaki zafiyetleri tespit etmesine yard\u0131mc\u0131 olabilir.<br \/>\n*   <strong>Dizin Listelemesini Engelleme:<\/strong> Hata sayfalar\u0131n\u0131z\u0131 bar\u0131nd\u0131ran dizinin i\u00e7eri\u011finin listelenmedi\u011finden emin olun. Bu, <code>Options -Indexes<\/code> direktifi ile sa\u011flan\u0131r.<\/p>\n<h3>Hata Loglar\u0131n\u0131 \u0130zleme<\/h3>\n<p>\u00d6zel hata sayfalar\u0131 kurduktan sonra, Apache&#8217;nin hata loglar\u0131n\u0131 d\u00fczenli olarak kontrol etmek \u00f6nemlidir. Apache hata loglar\u0131 genellikle <code>\/var\/log\/httpd\/error_log<\/code> konumunda bulunur. Bu loglar, hangi hatalar\u0131n tetiklendi\u011fini, \u00f6zel hata sayfalar\u0131n\u0131z\u0131n do\u011fru \u015fekilde \u00e7a\u011fr\u0131l\u0131p \u00e7a\u011fr\u0131lmad\u0131\u011f\u0131n\u0131 ve genel olarak sunucunuzdaki sorunlar\u0131 anlaman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<pre><code class=\"language-bash\">sudo tail -f \/var\/log\/httpd\/error_log<\/code><\/pre>\n<p>Bu komut, hata log dosyas\u0131n\u0131n sonunu s\u00fcrekli olarak izlemenizi sa\u011flar, b\u00f6ylece ger\u00e7ek zamanl\u0131 olarak hatalar\u0131 g\u00f6rebilirsiniz.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<h3>Neden \u00f6zel hata sayfalar\u0131m g\u00f6r\u00fcnm\u00fcyor, hala Apache&#8217;nin varsay\u0131lan sayfalar\u0131n\u0131 g\u00f6r\u00fcyorum?<\/h3>\n<p>Bu durum birka\u00e7 nedenden kaynaklanabilir:<br \/>\n*   <strong>Apache Yeniden Ba\u015flat\u0131ld\u0131 m\u0131?<\/strong> Yap\u0131land\u0131rma de\u011fi\u015fikliklerinin etkili olmas\u0131 i\u00e7in Apache servisini yeniden ba\u015flatman\u0131z gerekir (<code>sudo systemctl restart httpd<\/code>).<br \/>\n*   <strong>Yollar Do\u011fru mu?<\/strong> <code>ErrorDocument<\/code> direktifindeki yollar\u0131n (\u00f6rne\u011fin, <code>\/errors\/404.html<\/code>) do\u011fru oldu\u011fundan ve Apache&#8217;nin <code>DocumentRoot<\/code>&#8216;una g\u00f6re g\u00f6receli olarak do\u011fru konumu i\u015faret etti\u011finden emin olun.<br \/>\n*   <strong>SELinux \u0130zinleri:<\/strong> Hata sayfalar\u0131n\u0131z\u0131n bulundu\u011fu dizin i\u00e7in SELinux izinlerinin do\u011fru ayarland\u0131\u011f\u0131ndan emin olun (<code>semanage fcontext<\/code> ve <code>restorecon<\/code> ad\u0131mlar\u0131na bak\u0131n).<br \/>\n*   <strong>Dosya \u0130zinleri:<\/strong> Hata sayfalar\u0131n\u0131n Apache kullan\u0131c\u0131s\u0131 taraf\u0131ndan okunabilir oldu\u011fundan emin olun (<code>chmod<\/code> ve <code>chown<\/code> ad\u0131mlar\u0131na bak\u0131n).<br \/>\n*   <strong>Hata Kodu Do\u011fru Tetikleniyor mu?<\/strong> Test etti\u011finiz hatan\u0131n ger\u00e7ekten tetiklendi\u011finden emin olun (\u00f6rne\u011fin, 404 i\u00e7in var olmayan bir URL&#8217;ye gitti\u011finizden). Bazen taray\u0131c\u0131lar \u00f6nbelle\u011fe al\u0131nm\u0131\u015f sayfalar\u0131 g\u00f6sterebilir, taray\u0131c\u0131 \u00f6nbelle\u011fini temizlemeyi veya gizli modda denemeyi deneyin.<br \/>\n*   <strong>Virtual Host Kapsam\u0131:<\/strong> E\u011fer <code>ErrorDocument<\/code> direktiflerini bir Virtual Host i\u00e7ine eklediyseniz, iste\u011fin ger\u00e7ekten o Virtual Host taraf\u0131ndan i\u015flendi\u011finden emin olun.<\/p>\n<h3>Hata sayfalar\u0131n\u0131 <code>\/var\/www\/html<\/code> d\u0131\u015f\u0131nda bir yere koyabilir miyim?<\/h3>\n<p>Evet, koyabilirsiniz. Ancak, Apache&#8217;nin o dizine eri\u015fim izni oldu\u011fundan ve SELinux politikalar\u0131n\u0131n (e\u011fer etkinse) g\u00fcncellendi\u011finden emin olman\u0131z gerekir. \u00d6rne\u011fin, <code>\/opt\/apache_errors\/<\/code> gibi bir dizin kullan\u0131yorsan\u0131z, hem dosya izinlerini hem de SELinux ba\u011flam\u0131n\u0131 buna g\u00f6re ayarlaman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/opt\/apache_errors\n<h2>Hata sayfalar\u0131n\u0131z\u0131 buraya kopyalay\u0131n<\/h2>\nsudo chmod -R 755 \/opt\/apache_errors\nsudo chown -R apache:apache \/opt\/apache_errors\nsudo semanage fcontext -a -t httpd_sys_content_t \"\/opt\/apache_errors(\/.*)?\"\nsudo restorecon -Rv \/opt\/apache_errors<\/code><\/pre>\n<p>Ard\u0131ndan, <code>ErrorDocument<\/code> direktiflerinizde tam yolu belirtmeniz gerekebilir: <code>ErrorDocument 404 \/opt\/apache_errors\/404.html<\/code>. Ancak, Apache&#8217;nin <code>DocumentRoot<\/code>&#8216;u d\u0131\u015f\u0131nda bir yol belirtmek, baz\u0131 durumlarda y\u00f6nlendirmeye neden olabilir, bu da performans a\u00e7\u0131s\u0131ndan k\u00fc\u00e7\u00fck bir dezavantaj yaratabilir. Genellikle <code>DocumentRoot<\/code> alt\u0131nda g\u00f6receli yol kullanmak tercih edilir.<\/p>\n<h3>T\u00fcm hata kodlar\u0131 i\u00e7in \u00f6zel sayfa olu\u015fturmak zorunda m\u0131y\u0131m?<\/h3>\n<p>Hay\u0131r, zorunda de\u011filsiniz. Genellikle 403 (Forbidden), 404 (Not Found) ve 500 (Internal Server Error) gibi en yayg\u0131n ve kullan\u0131c\u0131lar\u0131n kar\u015f\u0131la\u015fma olas\u0131l\u0131\u011f\u0131 en y\u00fcksek olan hatalar i\u00e7in \u00f6zel sayfalar olu\u015fturmak yeterlidir. Di\u011fer daha nadir hatalar i\u00e7in Apache&#8217;nin varsay\u0131lan hata sayfalar\u0131n\u0131 kullanmaya devam edebilir veya t\u00fcm bilinmeyen hatalar i\u00e7in genel bir hata sayfas\u0131 tan\u0131mlayabilirsiniz (\u00f6rne\u011fin, <code>ErrorDocument 400 \/errors\/general_error.html<\/code> veya 4xx\/5xx kodlar\u0131 i\u00e7in genel bir sayfa).<\/p>\n<h3>Hata sayfalar\u0131nda JavaScript veya CSS kullanabilir miyim?<\/h3>\n<p>Evet, standart HTML, CSS ve JavaScript kullanabilirsiniz. Hata sayfalar\u0131n\u0131z\u0131n web sitenizin geri kalan\u0131yla ayn\u0131 stil ve i\u015flevselli\u011fe sahip olmas\u0131 i\u00e7in harici CSS dosyalar\u0131n\u0131 <code><link><\/code> etiketiyle ve JavaScript dosyalar\u0131n\u0131 <code><script><\/code> etiketiyle dahil edebilirsiniz. Ancak, CSS ve JS dosyalar\u0131n\u0131n da Apache taraf\u0131ndan eri\u015filebilir oldu\u011fundan ve SELinux izinlerinin do\u011fru oldu\u011fundan emin olmal\u0131s\u0131n\u0131z. Ayr\u0131ca, baz\u0131 durumlarda (\u00f6rne\u011fin, taray\u0131c\u0131 g\u00fcvenlik ayarlar\u0131 veya a\u011f sorunlar\u0131 nedeniyle) JavaScript'in \u00e7al\u0131\u015fmayabilece\u011fini g\u00f6z \u00f6n\u00fcnde bulundurarak, hata sayfas\u0131n\u0131n temel mesaj\u0131n\u0131n JavaScript olmadan da anla\u015f\u0131l\u0131r oldu\u011fundan emin olun.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Apache'yi CentOS 7 \u00fczerinde \u00f6zel hata sayfalar\u0131 kullanacak \u015fekilde yap\u0131land\u0131rmak, web sitenizin profesyonelli\u011fini ve kullan\u0131c\u0131 deneyimini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131ran basit ama etkili bir ad\u0131md\u0131r. Varsay\u0131lan, teknik ve estetikten uzak hata sayfalar\u0131n\u0131, markan\u0131z\u0131n kimli\u011fini yans\u0131tan, kullan\u0131c\u0131 dostu mesajlar i\u00e7eren ve ziyaret\u00e7ilerinizi sitenizde tutmaya te\u015fvik eden \u00f6zel tasar\u0131mlarla de\u011fi\u015ftirmek, web varl\u0131\u011f\u0131n\u0131z\u0131n genel kalitesini y\u00fckseltir.<\/p>\n<p>Bu makalede, hata sayfalar\u0131n\u0131 olu\u015fturmaktan Apache yap\u0131land\u0131rmas\u0131n\u0131 d\u00fczenlemeye, SELinux ve g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131 yapmaya ve son olarak yap\u0131land\u0131rman\u0131z\u0131 test etmeye kadar t\u00fcm s\u00fcreci ad\u0131m ad\u0131m ele ald\u0131k. Ayr\u0131ca, dinamik hata sayfalar\u0131, <code>.htaccess<\/code> kullan\u0131m\u0131, kullan\u0131c\u0131 deneyimi odakl\u0131 tasar\u0131m ve g\u00fcvenlik hususlar\u0131 gibi ileri d\u00fczey konulara de\u011finerek, \u00f6zel hata sayfalar\u0131n\u0131zdan en iyi \u015fekilde yararlanman\u0131z i\u00e7in gereken bilgileri sunduk.<\/p>\n<p>Unutmay\u0131n ki her hata durumu, kullan\u0131c\u0131n\u0131zla etkile\u015fim kurmak ve onlara yard\u0131mc\u0131 olmak i\u00e7in bir f\u0131rsatt\u0131r. \u00d6zel hata sayfalar\u0131, bu f\u0131rsat\u0131 de\u011ferlendirerek kullan\u0131c\u0131lar\u0131n\u0131z\u0131 hayal k\u0131r\u0131kl\u0131\u011f\u0131na u\u011fratmak yerine, onlar\u0131 web sitenizde daha uzun s\u00fcre tutman\u0131n ve markan\u0131za olan g\u00fcvenlerini art\u0131rman\u0131n g\u00fc\u00e7l\u00fc bir yoludur. Bu rehberdeki ad\u0131mlar\u0131 takip ederek, web sitenizin hata durumlar\u0131nda bile kusursuz bir deneyim sunmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Apache&#8217;yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz\u00fcn rekabet\u00e7i dijital d\u00fcnyas\u0131nda, web sitel","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":[241],"tags":[],"class_list":{"0":"post-37591","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","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>Apache&#039;yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma - 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\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache&#039;yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma\" \/>\n<meta property=\"og:description\" content=\"Apache&#039;yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn rekabet\u00e7i dijital d\u00fcnyas\u0131nda, web sitel\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-09T21:41:00+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=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Apache&#8217;yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma\",\"datePublished\":\"2026-01-09T21:41:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/\"},\"wordCount\":3425,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/\",\"name\":\"Apache'yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-09T21:41:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache&#8217;yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma\"}]},{\"@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":"Apache'yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma - 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\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/","og_locale":"tr_TR","og_type":"article","og_title":"Apache'yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma","og_description":"Apache'yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn rekabet\u00e7i dijital d\u00fcnyas\u0131nda, web sitel","og_url":"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-09T21:41:00+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Apache&#8217;yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma","datePublished":"2026-01-09T21:41:00+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/"},"wordCount":3425,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/","url":"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/","name":"Apache'yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-09T21:41:00+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/apacheyi-centos-7-uzerinde-ozel-hata-sayfalari-kullanacak-sekilde-yapilandirma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Apache&#8217;yi CentOS 7 \u00dczerinde \u00d6zel Hata Sayfalar\u0131 Kullanacak \u015eekilde Yap\u0131land\u0131rma"}]},{"@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\/37591","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=37591"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37591\/revisions"}],"predecessor-version":[{"id":37592,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37591\/revisions\/37592"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}