{"id":35187,"date":"2025-11-26T18:40:52","date_gmt":"2025-11-26T15:40:52","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35187"},"modified":"2025-11-26T18:40:52","modified_gmt":"2025-11-26T15:40:52","slug":"apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/","title":{"rendered":"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131"},"content":{"rendered":"<h2>Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h2>\n<p><body><\/p>\n<h2>Giri\u015f<\/h2>\n<p>Web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri, kullan\u0131c\u0131 dostu, arama motoru optimize edilmi\u015f (SEO) ve g\u00fcvenli URL yap\u0131lar\u0131 olu\u015fturmakt\u0131r. Apache web sunucusunun en g\u00fc\u00e7l\u00fc mod\u00fcllerinden biri olan <code>mod_rewrite<\/code>, bu hedeflere ula\u015fmak i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r. <code>mod_rewrite<\/code>, gelen URL isteklerini sunucu taraf\u0131nda yeniden yazarak, dinamik i\u00e7erikleri statik gibi g\u00f6steren, eski ba\u011flant\u0131lar\u0131 yenilerine y\u00f6nlendiren veya belirli ko\u015fullara g\u00f6re istekleri farkl\u0131 kaynaklara y\u00f6nlendiren karma\u015f\u0131k kurallar tan\u0131mlaman\u0131za olanak tan\u0131r.<\/p>\n<p>Bu makalede, Ubuntu 14.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fan bir Apache web sunucusunda <code>mod_rewrite<\/code> mod\u00fcl\u00fcn\u00fcn nas\u0131l kurulaca\u011f\u0131n\u0131, etkinle\u015ftirilece\u011fini ve \u00e7e\u015fitli senaryolar i\u00e7in nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ad\u0131m ad\u0131m ele alaca\u011f\u0131z. Ubuntu 14.04, uzun s\u00fcreli destek (LTS) sunan stabil bir s\u00fcr\u00fcm olmas\u0131na ra\u011fmen, g\u00fcncel Apache s\u00fcr\u00fcmlerinde baz\u0131 yap\u0131land\u0131rma farkl\u0131l\u0131klar\u0131 olabilece\u011fini unutmamak \u00f6nemlidir. Ancak temel <code>mod_rewrite<\/code> mant\u0131\u011f\u0131 ve kurallar\u0131 evrenseldir.<\/p>\n<p><code>mod_rewrite<\/code>&#8216;\u0131 do\u011fru bir \u015fekilde yap\u0131land\u0131rmak, web sitenizin performans\u0131, g\u00fcvenli\u011fi ve kullan\u0131c\u0131 deneyimi \u00fczerinde \u00f6nemli bir etkiye sahip olabilir. Gelin, bu g\u00fc\u00e7l\u00fc arac\u0131 ke\u015ffetmeye ba\u015flayal\u0131m.<\/p>\n<h2>\u00d6n Ko\u015fullar<\/h2>\n<p><code>mod_rewrite<\/code> kurulumuna ba\u015flamadan \u00f6nce, sisteminizin belirli gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z:<\/p>\n<p>*   <strong>Ubuntu 14.04 Sunucusu:<\/strong> Bu rehber Ubuntu 14.04&#8217;e odaklanm\u0131\u015ft\u0131r.<br \/>\n*   <strong>Apache Web Sunucusu:<\/strong> Sunucunuzda Apache2 web sunucusunun kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmas\u0131 gerekmektedir. E\u011fer kurulu de\u011filse, a\u015fa\u011f\u0131daki komutlarla kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get update\n    sudo apt-get install apache2<\/code><\/pre>\n<p>*   <strong>Sudo Yetkileri:<\/strong> Yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenlemek ve Apache hizmetini y\u00f6netmek i\u00e7in root veya sudo yetkilerine sahip bir kullan\u0131c\u0131 olmal\u0131s\u0131n\u0131z.<br \/>\n*   <strong>Temel Linux Bilgisi:<\/strong> Komut sat\u0131r\u0131 kullan\u0131m\u0131 ve dosya d\u00fczenleme (nano, vim gibi edit\u00f6rlerle) konusunda temel bilgiye sahip olman\u0131z beklenir.<br \/>\n*   <strong>Metin D\u00fczenleyici:<\/strong> Yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenlemek i\u00e7in bir metin d\u00fczenleyici (\u00f6rne\u011fin, <code>nano<\/code> veya <code>vim<\/code>) kullanaca\u011f\u0131z.<\/p>\n<p>Bu \u00f6n ko\u015fullar sa\u011fland\u0131\u011f\u0131nda, <code>mod_rewrite<\/code> kurulumuna ve yap\u0131land\u0131rmas\u0131na ba\u015flayabiliriz.<\/p>\n<h2>mod_rewrite Mod\u00fcl\u00fcn\u00fc Etkinle\u015ftirme<\/h2>\n<p><code>mod_rewrite<\/code>, Apache&#8217;nin varsay\u0131lan olarak y\u00fckl\u00fc gelen ancak etkinle\u015ftirilmesi gereken bir mod\u00fcl\u00fcd\u00fcr. Etkinle\u015ftirme i\u015flemi olduk\u00e7a basittir.<\/p>\n<h3>Apache&#8217;nin \u00c7al\u0131\u015ft\u0131\u011f\u0131n\u0131 Do\u011frulama<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce Apache&#8217;nin d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olal\u0131m. Taray\u0131c\u0131n\u0131zda sunucunuzun IP adresini veya alan ad\u0131n\u0131 ziyaret etti\u011finizde &#8220;It works!&#8221; veya Apache&#8217;nin varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz. Komut sat\u0131r\u0131ndan da durumunu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo service apache2 status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>apache2 is running<\/code> gibi bir ifade g\u00f6rmelisiniz.<\/p>\n<h3>mod_rewrite Mod\u00fcl\u00fcn\u00fc Etkinle\u015ftirme<\/h3>\n<p>Apache mod\u00fcllerini etkinle\u015ftirmek i\u00e7in <code>a2enmod<\/code> (Apache 2 enable module) komutu kullan\u0131l\u0131r. <code>mod_rewrite<\/code>&#8216;\u0131 etkinle\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod rewrite<\/code><\/pre>\n<p>Bu komut, <code>rewrite.load<\/code> dosyas\u0131n\u0131 <code>mods-available<\/code> dizininden <code>mods-enabled<\/code> dizinine sembolik olarak ba\u011flar. Komut ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131ktan sonra genellikle bir mesaj g\u00f6r\u00fcrs\u00fcn\u00fcz:<\/p>\n<pre><code class=\"language-\">Enabling module rewrite.\nTo activate the new configuration, you need to restart apache2:\nservice apache2 restart<\/code><\/pre>\n<h3>Apache&#8217;yi Yeniden Ba\u015flatma<\/h3>\n<p>Yeni etkinle\u015ftirilen mod\u00fcl\u00fcn Apache taraf\u0131ndan y\u00fcklenmesi ve kullan\u0131lmaya ba\u015flanmas\u0131 i\u00e7in Apache hizmetini yeniden ba\u015flatman\u0131z gerekmektedir:<\/p>\n<pre><code class=\"language-bash\">sudo service apache2 restart<\/code><\/pre>\n<p>Herhangi bir hata mesaj\u0131 almazsan\u0131z, <code>mod_rewrite<\/code> mod\u00fcl\u00fc art\u0131k sunucunuzda etkinle\u015ftirilmi\u015f demektir.<\/p>\n<h3>Mod\u00fcl\u00fcn Etkin Oldu\u011funu Do\u011frulama<\/h3>\n<p>Mod\u00fcl\u00fcn ger\u00e7ekten etkinle\u015ftirildi\u011fini do\u011frulamak i\u00e7in Apache&#8217;nin y\u00fckledi\u011fi mod\u00fcllerin listesini kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">apache2ctl -M | grep rewrite<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>rewrite_module (shared)<\/code> gibi bir sat\u0131r g\u00f6rmelisiniz. Bu, <code>mod_rewrite<\/code>&#8216;\u0131n ba\u015far\u0131yla y\u00fcklendi\u011fini g\u00f6sterir.<\/p>\n<p>Mod\u00fcl etkinle\u015ftirme i\u015flemi tamamland\u0131ktan sonra, <code>mod_rewrite<\/code> kurallar\u0131n\u0131 uygulayabilmek i\u00e7in Apache&#8217;nin yap\u0131land\u0131rma dosyalar\u0131nda gerekli izinleri ayarlamam\u0131z gerekecek.<\/p>\n<h2>Apache Yap\u0131land\u0131rmas\u0131n\u0131 D\u00fczenleme<\/h2>\n<p><code>mod_rewrite<\/code> mod\u00fcl\u00fc etkinle\u015ftirildikten sonra, Apache&#8217;nin <code>mod_rewrite<\/code> kurallar\u0131n\u0131 okumas\u0131na ve uygulamas\u0131na izin vermeniz gerekir. Bu izinler, Apache&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 olan <code>apache2.conf<\/code> i\u00e7inde veya sanal ana bilgisayar (Virtual Host) yap\u0131land\u0131rma dosyalar\u0131nda ayarlan\u0131r.<\/p>\n<h3>AllowOverride Y\u00f6nergesi<\/h3>\n<p><code>mod_rewrite<\/code> kurallar\u0131 genellikle <code>.htaccess<\/code> dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla web sitesi dizinlerinde tan\u0131mlan\u0131r. Ancak Apache, varsay\u0131lan olarak <code>.htaccess<\/code> dosyalar\u0131ndaki \u00e7o\u011fu y\u00f6nergeyi g\u00f6rmezden gelir. Bu davran\u0131\u015f\u0131 de\u011fi\u015ftirmek i\u00e7in <code>AllowOverride<\/code> y\u00f6nergesini kullanman\u0131z gerekir.<\/p>\n<p>*   <strong><code>AllowOverride None<\/code> (Varsay\u0131lan):<\/strong> Bu ayar, Apache&#8217;nin <code>.htaccess<\/code> dosyalar\u0131n\u0131 tamamen g\u00f6rmezden gelmesini sa\u011flar. Performans a\u00e7\u0131s\u0131ndan en iyisidir ancak dinamik web uygulamalar\u0131 i\u00e7in esneklik sa\u011flamaz.<br \/>\n*   <strong><code>AllowOverride All<\/code>:<\/strong> Bu ayar, Apache&#8217;nin <code>.htaccess<\/code> dosyalar\u0131ndaki t\u00fcm y\u00f6nergeleri (mod_rewrite dahil) i\u015flemesine izin verir.<br \/>\n*   <strong><code>AllowOverride FileInfo<\/code>:<\/strong> Bu ayar, <code>mod_rewrite<\/code> gibi URL manip\u00fclasyonu yapan y\u00f6nergelerin <code>.htaccess<\/code> dosyalar\u0131nda kullan\u0131lmas\u0131na izin verir. \u00c7o\u011fu zaman <code>mod_rewrite<\/code> i\u00e7in yeterlidir ve <code>All<\/code>&#8216;dan daha g\u00fcvenlidir.<\/p>\n<p><code>mod_rewrite<\/code> kullanaca\u011f\u0131m\u0131z i\u00e7in <code>AllowOverride All<\/code> veya <code>AllowOverride FileInfo<\/code> ayarlamam\u0131z gerekecek. <code>All<\/code> \u00e7o\u011fu durumda i\u015finizi g\u00f6recektir.<\/p>\n<h3>Sanal Ana Bilgisayar (Virtual Host) Yap\u0131land\u0131rmas\u0131n\u0131 D\u00fczenleme<\/h3>\n<p>En iyi uygulama, <code>AllowOverride<\/code> ayar\u0131n\u0131 do\u011frudan web sitenizin sanal ana bilgisayar yap\u0131land\u0131rma dosyas\u0131nda yapmakt\u0131r. Bu, ayarlar\u0131 belirli bir siteyle s\u0131n\u0131rlar ve Apache&#8217;nin genel performans\u0131n\u0131 etkilemez.<\/p>\n<p>Ubuntu&#8217;da sanal ana bilgisayar yap\u0131land\u0131rma dosyalar\u0131 genellikle <code>\/etc\/apache2\/sites-available\/<\/code> dizininde bulunur. Varsay\u0131lan olarak, <code>000-default.conf<\/code> ad\u0131nda bir dosya bulunur. Kendi alan ad\u0131n\u0131z i\u00e7in \u00f6zel bir yap\u0131land\u0131rma dosyan\u0131z varsa (\u00f6rne\u011fin, <code>example.com.conf<\/code>), onu d\u00fczenlemelisiniz.<\/p>\n<p>\u00d6rnek olarak, varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenleyelim:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/sites-available\/000-default.conf<\/code><\/pre>\n<p>Bu dosyan\u0131n i\u00e7inde, sitenizin k\u00f6k dizinini (DocumentRoot) belirten <code><VirtualHost><\/code> blo\u011funu bulacaks\u0131n\u0131z. Bu blo\u011fun i\u00e7ine veya mevcut <code><Directory \/var\/www\/><\/code> blo\u011funun i\u00e7ine <code>AllowOverride All<\/code> y\u00f6nergesini eklemeniz veya mevcut <code>None<\/code> de\u011ferini <code>All<\/code> olarak de\u011fi\u015ftirmeniz gerekir.<\/p>\n<p>\u00d6rnek bir <code><VirtualHost><\/code> yap\u0131land\u0131rmas\u0131 \u015f\u00f6yle g\u00f6r\u00fcnebilir:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    ServerAdmin webmaster@localhost\n    DocumentRoot \/var\/www\/html\n\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n    <Directory \/var\/www\/html>\n        Options Indexes FollowSymLinks MultiViews\n        AllowOverride All  # Buray\u0131 None'dan All olarak de\u011fi\u015ftirin\n        Order allow,deny\n        allow from all\n    <\/Directory>\n<\/VirtualHost><\/code><\/pre>\n<p><code>AllowOverride All<\/code> y\u00f6nergesini, web sitenizin k\u00f6k dizinini belirten <code><Directory><\/code> blo\u011funun i\u00e7ine yerle\u015ftirdi\u011finizden emin olun. Genellikle bu <code>\/var\/www\/html<\/code> veya projenizin k\u00f6k dizinidir.<\/p>\n<p><strong>\u00d6nemli Not:<\/strong> E\u011fer web siteniz i\u00e7in \u00f6zel bir sanal ana bilgisayar yap\u0131land\u0131rmas\u0131 kullan\u0131yorsan\u0131z (\u00f6rne\u011fin, <code>example.com.conf<\/code>), bu de\u011fi\u015fikli\u011fi o dosyada yapmal\u0131s\u0131n\u0131z. De\u011fi\u015fikli\u011fi yapt\u0131ktan sonra, bu sanal ana bilgisayar\u0131n etkinle\u015ftirildi\u011finden emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo a2ensite 000-default.conf # veya kendi dosya ad\u0131n\u0131z<\/code><\/pre>\n<h3>Apache&#8217;yi Yeniden Ba\u015flatma<\/h3>\n<p>Yap\u0131land\u0131rma dosyas\u0131nda yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in Apache hizmetini yeniden ba\u015flatman\u0131z gerekmektedir:<\/p>\n<pre><code class=\"language-bash\">sudo service apache2 restart<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, Apache art\u0131k web sitenizin <code>.htaccess<\/code> dosyalar\u0131ndaki <code>mod_rewrite<\/code> kurallar\u0131n\u0131 okuyup i\u015fleyebilir durumda olacakt\u0131r. Art\u0131k kendi <code>mod_rewrite<\/code> kurallar\u0131m\u0131z\u0131 olu\u015fturmaya ba\u015flayabiliriz.<\/p>\n<h2>mod_rewrite Kurallar\u0131 Olu\u015fturma (.htaccess Dosyalar\u0131)<\/h2>\n<p><code>mod_rewrite<\/code> kurallar\u0131 genellikle web sitenizin k\u00f6k dizininde veya alt dizinlerinde bulunan <code>.htaccess<\/code> adl\u0131 \u00f6zel dosyalarda tan\u0131mlan\u0131r. <code>.htaccess<\/code> dosyalar\u0131, dizin baz\u0131nda yap\u0131land\u0131rma de\u011fi\u015fiklikleri yapman\u0131za olanak tan\u0131r ve ana Apache yap\u0131land\u0131rma dosyas\u0131na eri\u015fiminiz olmad\u0131\u011f\u0131nda veya sadece belirli bir dizini etkilemek istedi\u011finizde kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p><strong>Not:<\/strong> <code>.htaccess<\/code> dosyalar\u0131 her istekte i\u015flendi\u011fi i\u00e7in performans\u0131 bir miktar etkileyebilir. B\u00fcy\u00fck ve y\u00fcksek trafikli sitelerde, <code>mod_rewrite<\/code> kurallar\u0131n\u0131 do\u011frudan sanal ana bilgisayar yap\u0131land\u0131rma dosyas\u0131na yazmak daha iyi bir uygulama olabilir. Ancak k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli siteler i\u00e7in <code>.htaccess<\/code> pratik ve yayg\u0131n bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h3>.htaccess Dosyas\u0131 Olu\u015fturma<\/h3>\n<p>Web sitenizin k\u00f6k dizininde (\u00f6rne\u011fin, <code>\/var\/www\/html\/<\/code>) bir <code>.htaccess<\/code> dosyas\u0131 olu\u015fturun veya d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/html\/.htaccess<\/code><\/pre>\n<p>Bu dosyan\u0131n i\u00e7ine <code>mod_rewrite<\/code> kurallar\u0131n\u0131z\u0131 yazacaks\u0131n\u0131z.<\/p>\n<h3>RewriteEngine On<\/h3>\n<p>Herhangi bir <code>mod_rewrite<\/code> kural\u0131 uygulamadan \u00f6nce, <code>RewriteEngine<\/code> y\u00f6nergesini <code>On<\/code> olarak ayarlayarak <code>mod_rewrite<\/code> motorunu etkinle\u015ftirmeniz gerekir. Bu, <code>.htaccess<\/code> dosyan\u0131z\u0131n en ba\u015f\u0131na eklemeniz gereken ilk sat\u0131rd\u0131r:<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On<\/code><\/pre>\n<h3>RewriteRule S\u00f6z Dizimi<\/h3>\n<p><code>RewriteRule<\/code> y\u00f6nergesi, <code>mod_rewrite<\/code>&#8216;\u0131n temelini olu\u015fturur. Gelen bir URL&#8217;yi belirli bir desene g\u00f6re e\u015fle\u015ftirir ve ba\u015fka bir URL ile de\u011fi\u015ftirir.<\/p>\n<p><strong>S\u00f6z Dizimi:<\/strong><\/p>\n<pre><code class=\"language-apache\">RewriteRule Pattern Substitution [Flags]<\/code><\/pre>\n<p>*   <strong><code>Pattern<\/code> (Desen):<\/strong> Gelen URL yolunu (alan ad\u0131 ve sorgu dizesi hari\u00e7) e\u015fle\u015ftirmek i\u00e7in kullan\u0131lan bir d\u00fczenli ifade (regex). \u00d6rne\u011fin, <code>^index\\.php$<\/code> <code>index.php<\/code> ile e\u015fle\u015fir.<br \/>\n*   <strong><code>Substitution<\/code> (De\u011fi\u015ftirme):<\/strong> Desenle e\u015fle\u015fen URL&#8217;nin yerine ge\u00e7ecek olan yeni URL. Bu, g\u00f6receli bir yol, mutlak bir URL veya bir Apache kayna\u011f\u0131 olabilir.<br \/>\n*   <strong><code>Flags<\/code> (Bayraklar):<\/strong> <code>RewriteRule<\/code>&#8216;un davran\u0131\u015f\u0131n\u0131 de\u011fi\u015ftiren iste\u011fe ba\u011fl\u0131 parametreler. K\u00f6\u015feli parantez i\u00e7inde virg\u00fclle ayr\u0131lm\u0131\u015f olarak belirtilirler. En yayg\u0131n kullan\u0131lan bayraklar \u015funlard\u0131r:<br \/>\n    *   <strong><code>[L]<\/code> (Last):<\/strong> Kural\u0131n e\u015fle\u015fmesi durumunda, ba\u015fka hi\u00e7bir kural\u0131n uygulanmamas\u0131n\u0131 sa\u011flar. Genellikle bir kural\u0131n sonland\u0131r\u0131lmas\u0131 gerekti\u011finde kullan\u0131l\u0131r.<br \/>\n    *   <strong><code>[R]<\/code> (Redirect):<\/strong> Taray\u0131c\u0131ya bir HTTP y\u00f6nlendirmesi g\u00f6nderir. Varsay\u0131lan olarak 302 (ge\u00e7ici) y\u00f6nlendirme yapar. <code>[R=301]<\/code> ile kal\u0131c\u0131 y\u00f6nlendirme (301 Moved Permanently) belirtebilirsiniz.<br \/>\n    *   <strong><code>[NC]<\/code> (No Case):<\/strong> Desen e\u015fle\u015ftirmesini b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harfe duyars\u0131z hale getirir.<br \/>\n    *   <strong><code>[QSA]<\/code> (Query String Append):<\/strong> Orijinal URL&#8217;nin sorgu dizesini (query string) yeniden yaz\u0131lan URL&#8217;ye ekler. Bu, \u00f6zellikle parametreleri korumak istedi\u011finizde \u00f6nemlidir.<br \/>\n    *   <strong><code>[OR]<\/code> (OR Condition):<\/strong> <code>RewriteCond<\/code> y\u00f6nergeleri aras\u0131nda mant\u0131ksal OR i\u015flemi yapar.<\/p>\n<h3>RewriteCond S\u00f6z Dizimi<\/h3>\n<p><code>RewriteCond<\/code> y\u00f6nergesi, bir <code>RewriteRule<\/code>&#8216;un uygulanabilmesi i\u00e7in ek ko\u015fullar tan\u0131mlaman\u0131za olanak tan\u0131r. Bir <code>RewriteRule<\/code>&#8216;dan \u00f6nce birden fazla <code>RewriteCond<\/code> olabilir; t\u00fcm ko\u015fullar do\u011fru oldu\u011funda <code>RewriteRule<\/code> uygulan\u0131r (mant\u0131ksal AND i\u015flemi).<\/p>\n<p><strong>S\u00f6z Dizimi:<\/strong><\/p>\n<pre><code class=\"language-apache\">RewriteCond TestString Condition [Flags]<\/code><\/pre>\n<p>*   <strong><code>TestString<\/code> (Test Dizisi):<\/strong> Ko\u015fulu uygulamak istedi\u011finiz dize. Bu genellikle bir sunucu de\u011fi\u015fkeni (\u00f6rne\u011fin, <code>%{REQUEST_URI}<\/code>, <code>%{HTTP_HOST}<\/code>, <code>%{HTTPS}<\/code>) veya bir HTTP ba\u015fl\u0131\u011f\u0131d\u0131r.<br \/>\n*   <strong><code>Condition<\/code> (Ko\u015ful):<\/strong> <code>TestString<\/code> ile e\u015fle\u015ftirilecek bir d\u00fczenli ifade.<br \/>\n*   <strong><code>Flags<\/code> (Bayraklar):<\/strong><br \/>\n    *   <strong><code>[NC]<\/code> (No Case):<\/strong> Ko\u015ful e\u015fle\u015ftirmesini b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harfe duyars\u0131z hale getirir.<br \/>\n    *   <strong><code>[OR]<\/code> (OR Condition):<\/strong> Bir sonraki <code>RewriteCond<\/code> ile mant\u0131ksal OR i\u015flemi yapar. Bu bayrak olmadan, <code>RewriteCond<\/code>&#8216;lar varsay\u0131lan olarak AND ile birle\u015ftirilir.<br \/>\n    *   <strong><code>[L]<\/code> (Last):<\/strong> Bu ko\u015ful e\u015fle\u015firse, di\u011fer ko\u015fullar\u0131 de\u011ferlendirmeden kural\u0131 uygula (nadiren kullan\u0131l\u0131r).<\/p>\n<p><strong>Yayg\u0131n <code>TestString<\/code> De\u011fi\u015fkenleri:<\/strong><br \/>\n*   <code>%{REQUEST_URI}<\/code>: Sorgu dizesi olmadan istenen URL yolu (\u00f6rn. <code>\/index.php<\/code>).<br \/>\n*   <code>%{HTTP_HOST}<\/code>: \u0130ste\u011fin yap\u0131ld\u0131\u011f\u0131 ana bilgisayar ad\u0131 (\u00f6rn. <code>www.example.com<\/code>).<br \/>\n*   <code>%{HTTPS}<\/code>: \u0130stek HTTPS \u00fczerinden yap\u0131l\u0131yorsa <code>on<\/code>, de\u011filse <code>off<\/code>.<br \/>\n*   <code>%{QUERY_STRING}<\/code>: URL&#8217;nin sorgu dizesi (\u00f6rn. <code>id=123&cat=4<\/code>).<br \/>\n*   <code>%{REQUEST_FILENAME}<\/code>: Sunucudaki fiziksel dosya yolu.<br \/>\n*   <code>%{ENV:VAR}<\/code>: Ortam de\u011fi\u015fkeni.<\/p>\n<p>Art\u0131k <code>RewriteRule<\/code> ve <code>RewriteCond<\/code>&#8216;un temel s\u00f6z dizimlerini anlad\u0131\u011f\u0131m\u0131za g\u00f6re, yayg\u0131n kullan\u0131m senaryolar\u0131na ve pratik \u00f6rneklere ge\u00e7ebiliriz.<\/p>\n<h2>Yayg\u0131n mod_rewrite Kullan\u0131m Senaryolar\u0131 ve \u00d6rnekleri<\/h2>\n<p>Bu b\u00f6l\u00fcmde, <code>mod_rewrite<\/code>&#8216;\u0131n en s\u0131k kullan\u0131lan \u00f6zelliklerini g\u00f6steren pratik \u00f6rneklere g\u00f6z ataca\u011f\u0131z. T\u00fcm bu \u00f6rnekleri <code>.htaccess<\/code> dosyan\u0131za <code>RewriteEngine On<\/code> sat\u0131r\u0131n\u0131n alt\u0131na ekleyebilirsiniz.<\/p>\n<h3>1. WWW Olmayan Alan Ad\u0131ndan WWW&#8217;li Alan Ad\u0131na Y\u00f6nlendirme<\/h3>\n<p>Bir\u00e7ok web sitesi, alan ad\u0131n\u0131n <code>www<\/code> \u00f6nekiyle mi yoksa <code>www<\/code> \u00f6neki olmadan m\u0131 eri\u015filece\u011fine karar verir. Tutarl\u0131l\u0131k ve SEO i\u00e7in tek bir versiyona y\u00f6nlendirme yapmak iyi bir uygulamad\u0131r.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\nRewriteCond %{HTTP_HOST} ^example\\.com [NC]\nRewriteRule ^(.*)$ http:\/\/www.example.com\/$1 [L,R=301]<\/code><\/pre>\n<p><strong>A\u00e7\u0131klama:<\/strong><br \/>\n*   <code>RewriteCond %{HTTP_HOST} ^example\\.com [NC]<\/code>: E\u011fer gelen iste\u011fin ana bilgisayar ad\u0131 <code>example.com<\/code> ile ba\u015fl\u0131yorsa (b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyars\u0131z), bu ko\u015ful do\u011fru olur.<br \/>\n<em>   <code>RewriteRule ^(.<\/em>)$ http:\/\/www.example.com\/$1 [L,R=301]<\/code>: E\u011fer ko\u015ful do\u011fruysa, gelen t\u00fcm URL&#8217;leri (<code>^(.*)$<\/code> ile e\u015fle\u015fen her \u015fey) <code>http:\/\/www.example.com\/<\/code> \u00f6n\u00fcne ekleyerek kal\u0131c\u0131 olarak (<code>R=301<\/code>) y\u00f6nlendir. <code>[L]<\/code> bayra\u011f\u0131, bu kural uyguland\u0131ktan sonra ba\u015fka kural\u0131n i\u015flenmemesini sa\u011flar.<\/p>\n<p>WWW&#8217;den WWW olmayana y\u00f6nlendirmek isterseniz:<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\nRewriteCond %{HTTP_HOST} ^www\\.example\\.com [NC]\nRewriteRule ^(.*)$ http:\/\/example.com\/$1 [L,R=301]<\/code><\/pre>\n<h3>2. HTTP&#8217;den HTTPS&#8217;ye Zorlama (SSL Y\u00f6nlendirmesi)<\/h3>\n<p>G\u00fcvenlik ve SEO i\u00e7in t\u00fcm trafi\u011fi HTTPS&#8217;ye y\u00f6nlendirmek g\u00fcn\u00fcm\u00fczde standart bir uygulamad\u0131r.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\nRewriteCond %{HTTPS} off\nRewriteRule ^(.*)$ https:\/\/%{HTTP_HOST}%{REQUEST_URI} [L,R=301]<\/code><\/pre>\n<p><strong>A\u00e7\u0131klama:<\/strong><br \/>\n*   <code>RewriteCond %{HTTPS} off<\/code>: E\u011fer gelen istek HTTPS \u00fczerinden yap\u0131lm\u0131yorsa (<code>off<\/code>), bu ko\u015ful do\u011fru olur.<br \/>\n<em>   <code>RewriteRule ^(.<\/em>)$ https:\/\/%{HTTP_HOST}%{REQUEST_URI} [L,R=301]<\/code>: E\u011fer ko\u015ful do\u011fruysa, gelen t\u00fcm URL&#8217;leri (<code>^(.*)$<\/code>) ayn\u0131 ana bilgisayar ad\u0131 (<code>%{HTTP_HOST}<\/code>) ve ayn\u0131 istek URI&#8217;si (<code>%{REQUEST_URI}<\/code>) ile HTTPS versiyonuna kal\u0131c\u0131 olarak y\u00f6nlendir.<\/p>\n<h3>3. Dosya Uzant\u0131lar\u0131n\u0131 Gizleme (Pretty URLs)<\/h3>\n<p>Kullan\u0131c\u0131 dostu URL&#8217;ler olu\u015fturmak i\u00e7in dosya uzant\u0131lar\u0131n\u0131 (\u00f6rn. <code>.php<\/code>, <code>.html<\/code>) gizleyebilirsiniz.<\/p>\n<p>\u00d6rne\u011fin, <code>hakkimizda.php<\/code> adresini <code>hakkimizda<\/code> olarak g\u00f6stermek istiyorsunuz.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\nRewriteCond %{REQUEST_FILENAME} !-f\nRewriteCond %{REQUEST_FILENAME} !-d\nRewriteRule ^([^\/]+)$ $1.php [L]<\/code><\/pre>\n<p><strong>A\u00e7\u0131klama:<\/strong><br \/>\n*   <code>RewriteCond %{REQUEST_FILENAME} !-f<\/code>: \u0130stenen URI&#8217;nin fiziksel bir dosya olmad\u0131\u011f\u0131n\u0131 kontrol eder.<br \/>\n*   <code>RewriteCond %{REQUEST_FILENAME} !-d<\/code>: \u0130stenen URI&#8217;nin fiziksel bir dizin olmad\u0131\u011f\u0131n\u0131 kontrol eder.<br \/>\n*   <code>RewriteRule ^([^\/]+)$ $1.php [L]<\/code>: E\u011fer yukar\u0131daki ko\u015fullar do\u011fruysa (yani <code>hakkimizda<\/code> gibi bir istek fiziksel bir dosya veya dizin de\u011filse), gelen URL&#8217;yi (<code>^([^\/]+)$<\/code> ile e\u015fle\u015fen herhangi bir dizeyi) al\u0131p sonuna <code>.php<\/code> ekler (<code>$1.php<\/code>). Bu, <code>hakkimizda<\/code> iste\u011fini dahili olarak <code>hakkimizda.php<\/code> olarak i\u015fler.<\/p>\n<p>Bu kural, sadece bir seviye derinlikteki URL&#8217;ler i\u00e7in \u00e7al\u0131\u015f\u0131r. Daha karma\u015f\u0131k URL yap\u0131lar\u0131 i\u00e7in (\u00f6rn. <code>kategori\/urun<\/code>), daha karma\u015f\u0131k regex&#8217;ler gerekebilir.<\/p>\n<h3>4. Kullan\u0131c\u0131 Dostu URL&#8217;ler Olu\u015fturma (Dinamik \u0130\u00e7eri\u011fi Statik Gibi G\u00f6sterme)<\/h3>\n<p>Dinamik bir sayfa olan <code>urun.php?id=123<\/code> adresini <code>urun\/123<\/code> gibi daha okunabilir bir hale getirmek i\u00e7in.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\nRewriteRule ^urun\/([0-9]+)\/?$ urun.php?id=$1 [NC,L,QSA]<\/code><\/pre>\n<p><strong>A\u00e7\u0131klama:<\/strong><br \/>\n*   <code>RewriteRule ^urun\/([0-9]+)\/?$ urun.php?id=$1 [NC,L,QSA]<\/code>:<br \/>\n    *   <code>^urun\/([0-9]+)\/?$<\/code>: Gelen URL&#8217;nin <code>urun\/<\/code> ile ba\u015flay\u0131p ard\u0131ndan bir veya daha fazla say\u0131 (<code>[0-9]+<\/code>) gelip gelmedi\u011fini kontrol eder. <code>([0-9]+)<\/code> parantez i\u00e7indeki k\u0131s\u0131m, e\u015fle\u015fen say\u0131 grubunu <code>$1<\/code> de\u011fi\u015fkenine atar. <code>\/?<\/code> iste\u011fe ba\u011fl\u0131 olarak sonda bir e\u011fik \u00e7izgi olabilece\u011fini belirtir.<br \/>\n    *   <code>urun.php?id=$1<\/code>: E\u015fle\u015fen URL&#8217;yi dahili olarak <code>urun.php?id=<\/code> ile <code>$1<\/code> de\u011fi\u015fkenindeki say\u0131y\u0131 kullanarak yeniden yazar.<br \/>\n    *   <code>[NC]<\/code>: B\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyars\u0131z.<br \/>\n    *   <code>[L]<\/code>: Son kural.<br \/>\n    *   <code>[QSA]<\/code>: Orijinal URL&#8217;deki sorgu dizesini (varsa) yeniden yaz\u0131lan URL&#8217;ye ekler. Bu \u00f6rnekte olmasa da, di\u011fer parametreler olsayd\u0131 i\u015fe yarard\u0131.<\/p>\n<h3>5. Eski URL&#8217;lerden Yeni URL&#8217;lere Kal\u0131c\u0131 Y\u00f6nlendirme (301 Redirect)<\/h3>\n<p>Web sitenizi yeniden yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131zda veya bir sayfan\u0131n URL&#8217;sini de\u011fi\u015ftirdi\u011finizde, eski URL&#8217;ye gelen trafi\u011fi kaybetmemek ve SEO de\u011ferini korumak i\u00e7in 301 kal\u0131c\u0131 y\u00f6nlendirmeler kullanmak \u00f6nemlidir.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\nRewriteRule ^eski-sayfa\\.html$ \/yeni-sayfa.html [L,R=301]\nRewriteRule ^eski-dizin\/(.*)$ \/yeni-dizin\/$1 [L,R=301]<\/code><\/pre>\n<p><strong>A\u00e7\u0131klama:<\/strong><br \/>\n*   \u0130lk kural, <code>eski-sayfa.html<\/code> adresine gelen istekleri <code>yeni-sayfa.html<\/code> adresine kal\u0131c\u0131 olarak y\u00f6nlendirir.<br \/>\n<em>   \u0130kinci kural, <code>eski-dizin\/<\/code> alt\u0131ndaki t\u00fcm i\u00e7erikleri <code>yeni-dizin\/<\/code> alt\u0131na y\u00f6nlendirir. <code>(.<\/em>)<\/code> ile e\u015fle\u015fen k\u0131s\u0131m <code>$1<\/code> de\u011fi\u015fkenine atan\u0131r ve yeni URL&#8217;de kullan\u0131l\u0131r.<\/p>\n<h3>6. Dizin Listelemesini Engelleme<\/h3>\n<p>G\u00fcvenlik a\u00e7\u0131s\u0131ndan, kullan\u0131c\u0131lar\u0131n web sunucunuzdaki dizinlerin i\u00e7eri\u011fini listelemesini engellemek iyi bir uygulamad\u0131r. Bu, <code>mod_rewrite<\/code> ile do\u011frudan yap\u0131lmasa da, <code>.htaccess<\/code> dosyas\u0131na ekleyebilece\u011finiz ilgili bir g\u00fcvenlik \u00f6nlemidir.<\/p>\n<pre><code class=\"language-apache\">Options -Indexes<\/code><\/pre>\n<p>Bu kural, Apache&#8217;nin dizin listeleme \u00f6zelli\u011fini devre d\u0131\u015f\u0131 b\u0131rak\u0131r. E\u011fer bir dizinde <code>index.html<\/code> veya <code>index.php<\/code> gibi bir dizin dosyas\u0131 yoksa, kullan\u0131c\u0131lar dizin i\u00e7eri\u011fini g\u00f6remez.<\/p>\n<h3>7. Belirli IP Adreslerine G\u00f6re Eri\u015fimi K\u0131s\u0131tlama<\/h3>\n<p>Belirli bir IP adresinden gelen istekleri engellemek veya sadece belirli IP adreslerine izin vermek i\u00e7in <code>mod_rewrite<\/code> ve <code>mod_access_compat<\/code> (Ubuntu 14.04&#8217;te genellikle varsay\u0131lan olarak etkin) kullan\u0131labilir.<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\nRewriteCond %{REMOTE_ADDR} ^192\\.168\\.1\\.100$\nRewriteRule .* - [F]<\/code><\/pre>\n<p><strong>A\u00e7\u0131klama:<\/strong><br \/>\n*   <code>RewriteCond %{REMOTE_ADDR} ^192\\.168\\.1\\.100$<\/code>: E\u011fer gelen iste\u011fin IP adresi <code>192.168.1.100<\/code> ise, bu ko\u015ful do\u011fru olur.<br \/>\n<em>   <code>RewriteRule .<\/em> - [F]<\/code>: E\u011fer ko\u015ful do\u011fruysa, t\u00fcm istekleri (<code>.*<\/code>) reddet (<code>-<\/code> yerine bir dosya belirtilmez, <code>[F]<\/code> (Forbidden) bayra\u011f\u0131 403 HTTP hatas\u0131 d\u00f6nd\u00fcr\u00fcr).<\/p>\n<p>Bu sadece birka\u00e7 yayg\u0131n \u00f6rnektir. <code>mod_rewrite<\/code>&#8216;\u0131n esnekli\u011fi sayesinde \u00e7ok daha karma\u015f\u0131k ve \u00f6zelle\u015ftirilmi\u015f kurallar olu\u015fturmak m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<h2>Hata Ay\u0131klama ve Sorun Giderme<\/h2>\n<p><code>mod_rewrite<\/code> kurallar\u0131 olduk\u00e7a g\u00fc\u00e7l\u00fc olabilir, ancak ayn\u0131 zamanda yanl\u0131\u015f yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda web sitenizin \u00e7al\u0131\u015fmamas\u0131na neden olabilir. \u0130\u015fte sorun giderme i\u00e7in baz\u0131 ipu\u00e7lar\u0131:<\/p>\n<h3>1. Apache Hata Kay\u0131tlar\u0131<\/h3>\n<p>Apache hata g\u00fcnl\u00fckleri, <code>mod_rewrite<\/code> ile ilgili sorunlar\u0131 te\u015fhis etmek i\u00e7in ilk ba\u015fvurman\u0131z gereken yerdir. Ubuntu 14.04&#8217;te hata g\u00fcnl\u00fckleri genellikle <code>\/var\/log\/apache2\/error.log<\/code> konumundad\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo tail -f \/var\/log\/apache2\/error.log<\/code><\/pre>\n<p>Bu komut, hata g\u00fcnl\u00fc\u011f\u00fcn\u00fc ger\u00e7ek zamanl\u0131 olarak izlemenizi sa\u011flar. Bir hata yapt\u0131\u011f\u0131n\u0131zda veya bir kural\u0131n beklendi\u011fi gibi \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fcn\u00fczde buraya bak\u0131n.<\/p>\n<h3>2. RewriteLogLevel ve RewriteLog (Apache 2.4+ i\u00e7in Dikkat)<\/h3>\n<p>Apache 2.2&#8217;de <code>RewriteLog<\/code> ve <code>RewriteLogLevel<\/code> y\u00f6nergeleri, <code>mod_rewrite<\/code>&#8216;\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131na dair ayr\u0131nt\u0131l\u0131 g\u00fcnl\u00fckler sa\u011flamak i\u00e7in kullan\u0131l\u0131rd\u0131. Ancak Apache 2.4 ve sonraki s\u00fcr\u00fcmlerinde bu y\u00f6nergeler performans nedenleriyle kullan\u0131mdan kald\u0131r\u0131lm\u0131\u015ft\u0131r.<\/p>\n<p>Apache 2.4+&#8217;ta, <code>mod_rewrite<\/code> hata ay\u0131klama bilgilerini g\u00f6rmek i\u00e7in Apache&#8217;nin genel <code>LogLevel<\/code> ayar\u0131n\u0131 <code>debug<\/code> olarak de\u011fi\u015ftirebilirsiniz. Bu, \u00e7ok fazla g\u00fcnl\u00fck \u00e7\u0131kt\u0131s\u0131 \u00fcretebilir, bu y\u00fczden sadece hata ay\u0131klama yaparken kullan\u0131n ve i\u015finiz bitti\u011finde geri al\u0131n.<\/p>\n<p><code>apache2.conf<\/code> veya sanal ana bilgisayar dosyan\u0131zda:<\/p>\n<pre><code class=\"language-apache\">LogLevel debug rewrite:trace8<\/code><\/pre>\n<p><code>rewrite:trace8<\/code> en y\u00fcksek ayr\u0131nt\u0131 seviyesidir. Bu ayar\u0131 yapt\u0131ktan sonra Apache&#8217;yi yeniden ba\u015flat\u0131n ve <code>error.log<\/code> dosyas\u0131n\u0131 kontrol edin. <code>mod_rewrite<\/code>&#8216;\u0131n her ad\u0131m\u0131 hakk\u0131nda ayr\u0131nt\u0131l\u0131 bilgiler g\u00f6receksiniz.<\/p>\n<p>\u0130\u015finiz bitti\u011finde, <code>LogLevel<\/code> ayar\u0131n\u0131 eski de\u011ferine (\u00f6rn. <code>warn<\/code> veya <code>error<\/code>) d\u00f6nd\u00fcrmeyi unutmay\u0131n.<\/p>\n<h3>3. apachectl configtest<\/h3>\n<p>Yap\u0131land\u0131rma dosyalar\u0131nda (\u00f6zellikle <code>.htaccess<\/code> d\u0131\u015f\u0131ndaki ana yap\u0131land\u0131rma dosyalar\u0131nda) bir de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131zda, Apache&#8217;yi yeniden ba\u015flatmadan \u00f6nce s\u00f6z dizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek iyi bir fikirdir:<\/p>\n<pre><code class=\"language-bash\">sudo apachectl configtest<\/code><\/pre>\n<p>E\u011fer <code>Syntax OK<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 al\u0131rsan\u0131z, yap\u0131land\u0131rman\u0131z\u0131n s\u00f6z dizimi a\u00e7\u0131s\u0131ndan do\u011fru oldu\u011fu anlam\u0131na gelir. Herhangi bir hata varsa, hata mesaj\u0131 size sorunun nerede oldu\u011funu s\u00f6yleyecektir.<\/p>\n<h3>4. Taray\u0131c\u0131 \u00d6nbelle\u011fi<\/h3>\n<p>HTTP y\u00f6nlendirmeleri (\u00f6zellikle 301 kal\u0131c\u0131 y\u00f6nlendirmeler) taray\u0131c\u0131lar taraf\u0131ndan \u00f6nbelle\u011fe al\u0131nabilir. Bu, bir y\u00f6nlendirme kural\u0131n\u0131 de\u011fi\u015ftirdi\u011finizde, taray\u0131c\u0131n\u0131z\u0131n hala eski y\u00f6nlendirmeyi kullanmaya devam etmesine neden olabilir. Hata ay\u0131klama yaparken taray\u0131c\u0131 \u00f6nbelle\u011finizi temizlemeyi veya gizli (incognito) mod kullanmay\u0131 unutmay\u0131n.<\/p>\n<h3>5. AllowOverride Ayarlar\u0131<\/h3>\n<p><code>.htaccess<\/code> kurallar\u0131n\u0131z\u0131n \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 fark ederseniz, ilk kontrol etmeniz gereken yerlerden biri <code>AllowOverride<\/code> y\u00f6nergesidir. Sanal ana bilgisayar\u0131n\u0131z\u0131n <code><Directory><\/code> blo\u011funda <code>AllowOverride All<\/code> veya <code>AllowOverride FileInfo<\/code> olarak ayarland\u0131\u011f\u0131ndan emin olun.<\/p>\n<h3>6. D\u00fczenli \u0130fade (Regex) Test Ara\u00e7lar\u0131<\/h3>\n<p><code>mod_rewrite<\/code> kurallar\u0131ndaki desenler d\u00fczenli ifadeler (regex) kullan\u0131r. Regex yazmak karma\u015f\u0131k olabilir ve k\u00fc\u00e7\u00fck bir hata bile kural\u0131n \u00e7al\u0131\u015fmamas\u0131na neden olabilir. Regex test ara\u00e7lar\u0131n\u0131 (\u00e7evrimi\u00e7i regex test siteleri gibi) kullanarak desenlerinizin bekledi\u011finiz gibi e\u015fle\u015fip e\u015fle\u015fmedi\u011fini kontrol edebilirsiniz.<\/p>\n<p>Bu hata ay\u0131klama teknikleri, <code>mod_rewrite<\/code> ile kar\u015f\u0131la\u015fabilece\u011finiz \u00e7o\u011fu sorunu \u00e7\u00f6zmenize yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h2>Performans ve G\u00fcvenlik Hususlar\u0131<\/h2>\n<p><code>mod_rewrite<\/code> g\u00fc\u00e7l\u00fc bir ara\u00e7 olsa da, yanl\u0131\u015f kullan\u0131ld\u0131\u011f\u0131nda performans sorunlar\u0131na veya g\u00fcvenlik a\u00e7\u0131klar\u0131na yol a\u00e7abilir.<\/p>\n<h3>Performans Hususlar\u0131<\/h3>\n<p>*   <strong><code>.htaccess<\/code> Dosyalar\u0131n\u0131n Performansa Etkisi:<\/strong> <code>.htaccess<\/code> dosyalar\u0131, Apache&#8217;nin her gelen iste\u011fi i\u015flerken ilgili dizinlerde ve \u00fcst dizinlerde arama yapmas\u0131na ve bu dosyalar\u0131 okumas\u0131na neden olur. Bu, \u00f6zellikle y\u00fcksek trafikli sitelerde veya karma\u015f\u0131k dizin yap\u0131lar\u0131na sahip sitelerde performans\u0131 olumsuz etkileyebilir. M\u00fcmk\u00fcnse, <code>mod_rewrite<\/code> kurallar\u0131n\u0131z\u0131 do\u011frudan sanal ana bilgisayar yap\u0131land\u0131rma dosyalar\u0131na (\u00f6rne\u011fin, <code>\/etc\/apache2\/sites-available\/your_site.conf<\/code>) yazmay\u0131 tercih edin. Bu, Apache&#8217;nin kurallar\u0131 yaln\u0131zca bir kez y\u00fcklemesini ve derlemesini sa\u011flar.<br \/>\n*   <strong>Karma\u015f\u0131k D\u00fczenli \u0130fadeler (Regex):<\/strong> \u00c7ok karma\u015f\u0131k veya verimsiz yaz\u0131lm\u0131\u015f d\u00fczenli ifadeler, Apache&#8217;nin CPU kaynaklar\u0131n\u0131 t\u00fcketebilir. Regex&#8217;lerinizi m\u00fcmk\u00fcn oldu\u011funca basit ve optimize edilmi\u015f tutmaya \u00e7al\u0131\u015f\u0131n.<br \/>\n*   <strong>\u00c7ok Say\u0131da Kural:<\/strong> \u00c7ok say\u0131da <code>RewriteRule<\/code> ve <code>RewriteCond<\/code> kural\u0131, her iste\u011fin i\u015flenmesi i\u00e7in gereken s\u00fcreyi art\u0131rabilir. Kurallar\u0131n\u0131z\u0131 d\u00fczenli tutun ve gereksiz olanlar\u0131 kald\u0131r\u0131n.<\/p>\n<h3>G\u00fcvenlik Hususlar\u0131<\/h3>\n<p>*   <strong><code>AllowOverride All<\/code> Kullan\u0131m\u0131:<\/strong> <code>AllowOverride All<\/code> y\u00f6nergesini kullanmak, <code>.htaccess<\/code> dosyalar\u0131n\u0131n Apache&#8217;nin yap\u0131land\u0131rmas\u0131n\u0131n hemen hemen her y\u00f6n\u00fcn\u00fc de\u011fi\u015ftirmesine izin verir. Bu, payla\u015f\u0131ml\u0131 bar\u0131nd\u0131rma ortamlar\u0131nda veya kullan\u0131c\u0131lar\u0131n kendi <code>.htaccess<\/code> dosyalar\u0131n\u0131 y\u00fcklemesine izin verdi\u011finiz durumlarda bir g\u00fcvenlik riski olu\u015fturabilir. M\u00fcmk\u00fcnse <code>AllowOverride FileInfo<\/code> gibi daha k\u0131s\u0131tl\u0131 bir se\u00e7enek kullan\u0131n veya kurallar\u0131 do\u011frudan sanal ana bilgisayar yap\u0131land\u0131rmas\u0131na yaz\u0131n.<br \/>\n*   <strong><code>FollowSymLinks<\/code> ve <code>Options -Indexes<\/code>:<\/strong><br \/>\n    *   <code>FollowSymLinks<\/code> se\u00e7ene\u011fi, sembolik ba\u011flant\u0131lar\u0131n izlenmesine izin verir. K\u00f6t\u00fc niyetli bir kullan\u0131c\u0131, sembolik ba\u011flant\u0131lar olu\u015fturarak sunucunuzdaki hassas dosyalara eri\u015fmeye \u00e7al\u0131\u015fabilir. E\u011fer g\u00fcvenlik endi\u015feleriniz varsa ve sembolik ba\u011flant\u0131lara ihtiyac\u0131n\u0131z yoksa, <code>Options -FollowSymLinks<\/code> kullanmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz. Alternatif olarak <code>SymLinksIfOwnerMatch<\/code> daha g\u00fcvenli bir se\u00e7enektir.<br \/>\n    *   <code>Options -Indexes<\/code> y\u00f6nergesini kullanarak dizin listelemeyi devre d\u0131\u015f\u0131 b\u0131rakmak, sitenizin dizin yap\u0131s\u0131n\u0131n ve i\u00e7eri\u011finin istenmeyen \u015fekilde a\u00e7\u0131\u011fa \u00e7\u0131kmas\u0131n\u0131 engeller. Bu, temel bir g\u00fcvenlik \u00f6nlemidir.<br \/>\n*   <strong>DDoS Sald\u0131r\u0131lar\u0131:<\/strong> \u00c7ok karma\u015f\u0131k veya k\u00f6t\u00fc yap\u0131land\u0131r\u0131lm\u0131\u015f <code>mod_rewrite<\/code> kurallar\u0131, sunucunuzu DDoS (Da\u011f\u0131t\u0131k Hizmet Reddi) sald\u0131r\u0131lar\u0131na kar\u015f\u0131 daha savunmas\u0131z hale getirebilir. \u00d6zellikle harici kaynaklara (\u00f6rne\u011fin, ba\u015fka bir sunucuya y\u00f6nlendirme) yap\u0131lan yo\u011fun y\u00f6nlendirmeler risk olu\u015fturabilir.<br \/>\n*   <strong>Kullan\u0131c\u0131 Giri\u015flerini Filtreleme:<\/strong> Kullan\u0131c\u0131 taraf\u0131ndan sa\u011flanan verileri <code>mod_rewrite<\/code> kurallar\u0131nda kullan\u0131rken dikkatli olun. K\u00f6t\u00fc niyetli kullan\u0131c\u0131lar, belirli girdilerle sunucunuzu manip\u00fcle etmeye \u00e7al\u0131\u015fabilir. Her zaman kullan\u0131c\u0131 giri\u015flerini do\u011frulamak ve temizlemek en iyi uygulamad\u0131r.<\/p>\n<p>Bu hususlar\u0131 g\u00f6z \u00f6n\u00fcnde bulundurarak, <code>mod_rewrite<\/code>&#8216;\u0131 g\u00fcvenli ve performansl\u0131 bir \u015fekilde kullanabilirsiniz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p><code>mod_rewrite<\/code>, Apache web sunucusunun en g\u00fc\u00e7l\u00fc ve esnek mod\u00fcllerinden biridir. Bu makalede, Ubuntu 14.04 \u00fczerinde <code>mod_rewrite<\/code>&#8216;\u0131 nas\u0131l etkinle\u015ftirece\u011finizi, Apache yap\u0131land\u0131rmas\u0131n\u0131 nas\u0131l d\u00fczenleyece\u011finizi ve <code>.htaccess<\/code> dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla \u00e7e\u015fitli senaryolar i\u00e7in nas\u0131l kurallar olu\u015fturaca\u011f\u0131n\u0131z\u0131 ayr\u0131nt\u0131l\u0131 olarak inceledik. WWW y\u00f6nlendirmelerinden HTTPS zorlamaya, kullan\u0131c\u0131 dostu URL&#8217;ler olu\u015fturmaktan eski ba\u011flant\u0131lar\u0131 y\u00f6nlendirmeye kadar bir\u00e7ok yayg\u0131n kullan\u0131m \u00f6rne\u011fini ele ald\u0131k.<\/p>\n<p>Ayr\u0131ca, <code>mod_rewrite<\/code> kurallar\u0131n\u0131 uygularken kar\u015f\u0131la\u015fabilece\u011finiz sorunlar\u0131 gidermek i\u00e7in hata ay\u0131klama tekniklerine ve performans\u0131 ve g\u00fcvenli\u011fi art\u0131rmak i\u00e7in en iyi uygulamalara de\u011findik. Unutmay\u0131n ki, <code>mod_rewrite<\/code>&#8216;\u0131n g\u00fcc\u00fc, d\u00fczenli ifadelerdeki yetkinli\u011finiz ve Apache&#8217;nin yap\u0131land\u0131rma mekanizmalar\u0131n\u0131 anlaman\u0131zla do\u011fru orant\u0131l\u0131d\u0131r.<\/p>\n<p><code>mod_rewrite<\/code>&#8216;\u0131 do\u011fru bir \u015fekilde yap\u0131land\u0131rmak, web sitenizin SEO performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir, kullan\u0131c\u0131 deneyimini iyile\u015ftirebilir ve daha temiz, daha y\u00f6netilebilir bir URL yap\u0131s\u0131 sa\u011flayabilir. Ba\u015flang\u0131\u00e7ta biraz karma\u015f\u0131k g\u00f6r\u00fcnse de, pratik yaparak ve \u00f6rnekleri deneyerek bu g\u00fc\u00e7l\u00fc arac\u0131n potansiyelini tam olarak kullanabilirsiniz. Web geli\u015ftirme yolculu\u011funuzda <code>mod_rewrite<\/code> size b\u00fcy\u00fck bir esneklik ve kontrol sa\u011flayacakt\u0131r.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131\nGiri\u015f\nWeb geli\u015ftirmenin temel ta\u015flar\u0131ndan biri, kullan\u0131c\u0131 dostu, ara","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":[1468],"tags":[],"class_list":{"0":"post-35187","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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 Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131 - 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\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131\" \/>\n<meta property=\"og:description\" content=\"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131  Giri\u015f Web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri, kullan\u0131c\u0131 dostu, ara\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-26T15:40:52+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=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131\",\"datePublished\":\"2025-11-26T15:40:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/\"},\"wordCount\":3588,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/\",\"name\":\"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-26T15:40:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131\"}]},{\"@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 Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131 - 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\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/","og_locale":"tr_TR","og_type":"article","og_title":"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131","og_description":"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131  Giri\u015f Web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri, kullan\u0131c\u0131 dostu, ara","og_url":"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-26T15:40:52+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131","datePublished":"2025-11-26T15:40:52+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/"},"wordCount":3588,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/","url":"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/","name":"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-26T15:40:52+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/apache-ubuntu-14-04-uzerinde-mod_rewrite-kurulumu-ve-yapilandirmasi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Apache Ubuntu 14.04 \u00dczerinde mod_rewrite Kurulumu ve Yap\u0131land\u0131rmas\u0131"}]},{"@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\/35187","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=35187"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35187\/revisions"}],"predecessor-version":[{"id":35188,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35187\/revisions\/35188"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}