Yaygın CMS'ler için .htaccess örnekleri: varsayılan dosyayı nasıl geri yükleyebilirim

.htaccess dosyası, Apache web sunucularında sitenin ana yapılandırmasına erişmeden web sitesi ayarlarını yönetmek için kullanılan bir yapılandırma dosyasıdır. Bununla, yönlendirmeleri etkinleştirebilir, erişimi kısıtlayabilir, SEO dostu URL'ler yapılandırabilir, önbelleği ayarlayabilir ve çok daha fazlasını yapabilirsiniz — doğrudan sitenizin kökünden veya herhangi bir dizininden.
Birçok CMS, kurulum sırasında bu dosyayı otomatik olarak oluşturur veya dağıtımda bir örnek içerir.
Özellikle Apache üzerinde barındırma ile çalışıyorsanız, farklı CMS'ler için varsayılan .htaccess dosyasının neye benzediğini bilmek önemlidir. Bu size şu konularda yardımcı olur:
-
Kurulumdan sonra her şeyin doğru olduğunu kontrol etmek;
-
Dosya yanlışlıkla silinmişse geri yüklemek;
-
Sistemin "kutu dışı" hangi kuralları kullandığını anlamak.
.htaccess nerede bulunur
.htaccess dosyası genellikle sitenin kök klasöründe bulunur, örneğin:
/var/www/site.com/public_html/.htaccess
Dosya eksikse (örneğin, yanlışlıkla silindiyse), .htaccess adıyla manuel olarak oluşturabilirsiniz (dosya adı nokta ile başlar, uzantısı yoktur).
Dosyayı bir metin düzenleyiciyle açın (örneğin, Notepad++ veya VS Code).
Düzenlemek için ofis paketlerini (MS Word gibi) kullanmayın, çünkü dosyanızı bozacak gizli karakterler ekleyebilirler.
Aşağıda, yaygın CMS'lerde varsayılan olarak kullanılan standart .htaccess dosyalarının bir koleksiyonu bulunmaktadır. Bu örnekler, orijinal .htaccess dosyasını yanlışlıkla sildiğiniz veya bozduğunuz ve sitenizin düzgün çalışması için geri yüklemeniz gerektiğinde kullanışlı olabilir.
WordPress
WordPress için varsayılan .htaccess, "temiz" URL'leri etkinleştirir ve temel yönlendirme kuralları içerir:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Alt alan adlarında bir çoklu site (örneğin, site1.example.com, site2.example.com) kullanılıyorsa:
# BEGIN WordPress Multisite
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# Multisite için yönlendirme (alt alan adları)
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress Multisite
Alt dizinlerde bir çoklu site (örneğin, example.com/site1, example.com/site2) kullanılıyorsa:
# BEGIN WordPress Multisite
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# Multisite için yönlendirme (alt dizinler)
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress Multisite
Joomla 2.5-3
Joomla, temel koruma ve SEF yapılandırması için .htaccess kullanır:
##
# @package Joomla
# @copyright Copyright (C) 2005 - 2012 Open Source Matters. All rights reserved.
# @license GNU General Public License version 2 or later; see LICENSE.txt
##
##
# BU DOSYAYI KULLANMAYI SEÇERSENİZ TAMAMINI OKUYUN!
#
# Hemen altındaki satır: 'Options +FollowSymLinks' bazı sunucu yapılandırmalarıyla
# sorunlara neden olabilir. mod_rewrite kullanımı için gereklidir, ancak sunucu
# yöneticiniz tarafından .htaccess dosyanızda değiştirilmesine izin vermeyecek şekilde
# zaten ayarlanmış olabilir. Kullanımı sunucunuzda hataya neden olursa, yorum satırı
# haline getirin (satırın başına # ekleyin), sitenizi tarayıcıda yenileyin ve sef
# url'lerinizi test edin. Çalışıyorlarsa, sunucu yöneticiniz tarafından ayarlanmıştır ve
# burada ayarlamanız gerekmez.
##
## Hatalara neden olursa yorum satırı haline getirilebilir, yukarıdaki notlara bakın.
Options +FollowSymLinks
## Mod_rewrite kullanımda.
RewriteEngine On
## Başlangıç - Bazı yaygın istismarları engellemek için rewrite kuralları.
# Sitenizde sorun yaşıyorsanız, aşağıda listelenen işlemleri engelleyin
# Bu, Joomla!'ya yönelik en yaygın istismar türü `denemelerini` engellemeye çalışır
#
# URL içindeki verileri base64_encode yapmaya çalışan herhangi bir betiği engelleyin.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# URL'de <script> etiketi içeren herhangi bir betiği engelleyin.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# URL aracılığıyla bir PHP GLOBALS değişkeni ayarlamaya çalışan herhangi bir betiği engelleyin.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# URL aracılığıyla bir _REQUEST değişkenini değiştirmeye çalışan herhangi bir betiği engelleyin.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# 403 Forbidden başlığı döndürün ve kök ana sayfanın içeriğini gösterin
RewriteRule .* index.php [F]
#
## Bitiş - Rewrite kuralları bazı yaygın istismarları engellemek için.
## Başlangıç - Özel yönlendirmeler
#
# Bazı sayfaları yeniden yönlendirmeniz veya kanonik bir www olmayanı
# www'ye yönlendirmeniz (veya tam tersi) gerekiyorsa, kodu buraya yerleştirin. Bu
# yönlendirmelerin doğru RewriteRule sözdizimini ve [R=301,L] işaretlerini kullandığından
# emin olun.
#
## Bitiş - Özel yönlendirmeler
##
# Web sunucunuzun URL'si fiziksel dosya yollarıyla doğrudan ilgili değilse
# aşağıdaki satırı yorum satırı haline getirin.
# Joomla! Dizinini Güncelle (kök için sadece /).
##
# RewriteBase /
## Başlangıç - Joomla! çekirdek SEF Bölümü.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# İstek yolu /index.php değilse ve istek zaten dahili olarak index.php betiğine
# yeniden yazılmamışsa
RewriteCond %{REQUEST_URI} !^/index\.php
# ve istek bileşen klasörünün içindeki bir şey içinse,
# veya sitenin kökü içinse, veya uzantısız bir URL ise veya
# istenen URL listelenen uzantılardan biriyle bitiyorsa
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# ve istenen yol ve dosya fiziksel bir dosyayla doğrudan eşleşmiyorsa
RewriteCond %{REQUEST_FILENAME} !-f
# ve istenen yol ve dosya fiziksel bir klasörle doğrudan eşleşmiyorsa
RewriteCond %{REQUEST_FILENAME} !-d
# isteği dahili olarak index.php betiğine yeniden yazın
RewriteRule .* index.php [L]
#
## Bitiş - Joomla! çekirdek SEF Bölümü.
Joomla 4-5
Joomla 4'te güvenliğe ve önbelleğe daha fazla önem verilmektedir:
##
# @package Joomla
# @copyright (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
# @license GNU General Public License version 2 or later; see LICENSE.txt
##
##
# BU DOSYAYI KULLANMAYI SEÇERSENİZ TAMAMINI OKUYUN!
#
# "Options +FollowSymLinks" satırı bazı sunucu yapılandırmalarıyla sorunlara neden olabilir.
# Apache mod_rewrite kullanımı için gereklidir, ancak sunucu
# yöneticiniz tarafından bu .htaccess dosyasında değiştirilmesine izin vermeyecek şekilde
# zaten ayarlanmış olabilir.
# Kullanımı sitenizde bir hata üretirse, onu yorum satırı haline getirin (satırın
# başına # ekleyin), sitenizi tarayıcıda yenileyin ve sef url'lerinizi test edin. Bunlar
# çalışırsa, sunucu yöneticiniz tarafından ayarlanmıştır ve burada ayarlamanız gerekmez.
##
## EKSİK CSS VEYA JAVASCRIPT HATALARI
#
# Siteniz bu dosyayı etkinleştirdikten sonra garip görünüyorsa, sunucunuz
# muhtemelen css ve js dosyalarını zaten sıkıştırıyordur ve bu dosyanın GZIP
# bölümünü yorum satırı haline getirmelisiniz.
##
## OPENLITESPEED
#
# OpenLiteSpeed web sunucusu kullanıyorsanız, bu dosyada yapılan tüm değişiklikler
# web sunucusunu yeniden başlatana kadar etkili olmayacaktır.
##
## Hatalara neden olursa yorum satırı haline getirilebilir, yukarıdaki notlara bakın.
Options +FollowSymlinks
Options -Indexes
## Dizin listelemelerini engelleme
<IfModule mod_autoindex.c>
IndexIgnore *
</IfModule>
## Bilinmeyen türler için tarayıcılarda karma türü tespitini bastır
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
</IfModule>
## Belirli çapraz kaynak isteklerine karşı koruma. Daha fazla bilgi şurada bulunabilir:
## https://developer.mozilla.org/en-US/docs/Web/HTTP/Cross-Origin_Resource_Policy_(CORP)
## https://web.dev/why-coop-coep/
#<IfModule mod_headers.c>
# Header always set Cross-Origin-Resource-Policy "same-origin"
# Header always set Cross-Origin-Embedder-Policy "require-corp"
#</IfModule>
## SVG dosyalarını doğrudan açarken veya object-tag ile gömerken satır içi JavaScript'i devre dışı bırakma
<FilesMatch "\.svg$">
<IfModule mod_headers.c>
Header always set Content-Security-Policy "script-src 'none'"
</IfModule>
</FilesMatch>
## Bu direktifler yalnızca Apache mod_rewrite modülü etkinleştirilmişse etkinleştirilir
<IfModule mod_rewrite.c>
RewriteEngine On
## Başlangıç - Bazı yaygın istismarları engellemek için rewrite kuralları.
# Sitenizde sorun yaşıyorsanız, aşağıda listelenen işlemleri yorum satırı haline getirin
# (satırın başına # ekleyerek).
# Bu, Joomla!'daki en yaygın istismar türü `denemelerini` engellemeye çalışır
#
# URL içindeki verileri base64_encode yapmaya çalışan herhangi bir betiği engelle.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# URL'de <script> etiketi içeren herhangi bir betiği engelle.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# URL aracılığıyla bir PHP GLOBALS değişkeni ayarlamaya çalışan herhangi bir betiği engelle.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# URL aracılığıyla bir _REQUEST değişkenini değiştirmeye çalışan herhangi bir betiği engelle.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# 403 Forbidden başlığı döndür ve kök ana sayfanın içeriğini göster
RewriteRule .* index.php [F]
#
## Bitiş - Bazı yaygın istismarları engellemek için rewrite kuralları.
## Başlangıç - Özel yönlendirmeler
#
# Bazı sayfaları yeniden yönlendirmeniz veya kanonik bir www olmayanını
# www'ye yönlendirmeniz (veya tam tersi) gerekiyorsa, kodu buraya yerleştirin. Bu
# yönlendirmelerin doğru RewriteRule sözdizimini ve [R=301,L] işaretlerini kullandığından
# emin olun.
#
## Bitiş - Özel yönlendirmeler
##
# Web sunucunuzun URL'si fiziksel dosya yollarıyla doğrudan ilgili değilse
# aşağıdaki satırı yorum satırı haline getirin.
# Joomla! Dizinini Güncelle (kök için sadece /).
##
# RewriteBase /
## Başlangıç - Joomla! çekirdek SEF Bölümü.
#
# HTTP yetkilendirmesi için PHP FastCGI düzeltmesi, API uygulaması için gereklidir
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# -- API uygulaması için SEF URL'leri
# İstek yolu /api/ ile başlıyorsa, dosya /api/index.php değilse
# ve istek zaten dahili olarak api/index.php betiğine
# yeniden yazılmamışsa
RewriteCond %{REQUEST_URI} ^/api/
RewriteCond %{REQUEST_URI} !^/api/index\.php
# ve istenen yol ve dosya fiziksel bir dosyayla doğrudan eşleşmiyorsa
RewriteCond %{REQUEST_FILENAME} !-f
# ve istenen yol ve dosya fiziksel bir klasörle doğrudan eşleşmiyorsa
RewriteCond %{REQUEST_FILENAME} !-d
# isteği /api/index.php betiğine dahili olarak yeniden yazın
RewriteRule .* api/index.php [L]
# -- Genel halk ön uç uygulaması için SEF URL'leri
# İstek yolu ve dosyası /index.php değilse ve istek
# zaten dahili olarak index.php betiğine yeniden yazılmamışsa
RewriteCond %{REQUEST_URI} !^/index\.php
# ve istenen yol ve dosya fiziksel bir dosyayla doğrudan eşleşmiyorsa
RewriteCond %{REQUEST_FILENAME} !-f
# ve istenen yol ve dosya fiziksel bir klasörle doğrudan eşleşmiyorsa
RewriteCond %{REQUEST_FILENAME} !-d
# isteği index.php betiğine dahili olarak yeniden yazın
RewriteRule .* index.php [L]
#
## Bitiş - Joomla! çekirdek SEF Bölümü.
</IfModule>
## Bu direktifler yalnızca Apache mod_rewrite modülü devre dışı bırakılmışsa etkinleştirilir
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
# Rewrite modülü mevcut olmadığında, web sitesinin
# ve oluşturulan bağlantıların hala kullanılabilmesi için ana sayfanın
# kontrol noktasına geçici bir yönlendirme talimatı veririz.
RedirectMatch 302 ^/$ /index.php/
# RedirectTemp bunun yerine kullanılamaz
</IfModule>
</IfModule>
## GZIP
## Bu direktifler yalnızca Apache mod_headers modülü etkinleştirilmişse etkinleştirilir.
## Bu bölüm, bir .gz dosyası mevcutsa ve mevcutsa onu
## doğrudan akıtacağını veya bir varlığı isteğe bağlı olarak
## gzip'ini alacağını kontrol eder
## Siteniz bu dosyayı etkinleştirdikten sonra garip görünmeye başlarsa ve
## tarayıcı konsolu ağ sekmesinde ERR_CONTENT_DECODING_FAILED görürseniz,
## sunucunuz zaten css ve js dosyalarını sıkıştırıyordur ve bu bloğu
## .htaccess dosyanızda etkinleştirmenize gerek yoktur
<IfModule mod_headers.c>
# Varsa, gzip ile sıkıştırılmış CSS dosyalarını sunun
# ve istemci gzip'i kabul eder.
RewriteCond "%{HTTP:Accept-encoding}" "gzip"
RewriteCond "%{REQUEST_FILENAME}\.gz" -s
RewriteRule "^(.*)\.css" "$1\.css\.gz" [QSA]
# Varsa, gzip ile sıkıştırılmış JS dosyalarını sunun
# ve istemci gzip'i kabul eder.
RewriteCond "%{HTTP:Accept-encoding}" "gzip"
RewriteCond "%{REQUEST_FILENAME}\.gz" -s
RewriteRule "^(.*)\.js" "$1\.js\.gz" [QSA]
# Doğru içerik türlerini sunun ve mod_deflate'in çift gzip yapmasını önleyin.
RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-gzip:1]
RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1]
<FilesMatch "(\.js\.gz|\.css\.gz)$">
# Doğru kodlama türünü sunun.
Header set Content-Encoding gzip
# Önbelleklerin sıkıştırılmış ve
# sıkıştırılmamış css/js dosyalarını ayrı ayrı önbelleğe almasını sağlayın.
Header append Vary Accept-Encoding
</FilesMatch>
</IfModule>
Drupal 7
Drupal 7'deki .htaccess temel güvenlik ve optimizasyon ayarlarını içerir. Tipik içerik:
# Sunucu imzalarını ve dizin taramasını önlemek için şunu kullanın
ServerSignature Off
Options -Indexes
# Hassas dosyaları koruyun
<FilesMatch "\.(htaccess|htpasswd)">
Order Allow,Deny
Deny from all
</FilesMatch>
# Dosyaların doğrudan erişilmesini engelleyin
<FilesMatch "\.(txt|md|yml|json|xml)$">
Order Allow,Deny
Deny from all
</FilesMatch>
# PHP için varsayılan bir saat dilimi ayarlayın
SetEnv TZ Europe/Amsterdam
# Daha iyi performans için sıkıştırmayı etkinleştirin
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript
# Daha iyi performans için önbellek ayarları
<IfModule mod_headers.c>
Header set Cache-Control "public, max-age=3600"
</IfModule>
Drupal 8
Drupal 8 için .htaccess, ek iyileştirmeler içerir ve yeni özellikleri destekler. Örneğin, HTTP/2 desteği, geliştirilmiş güvenlik, temiz URL'leri ve önbelleği işlemek için özelleştirmeler bulunur.
# Sunucu imzası ve dizin taramasını önleyin
ServerSignature Off
Options -Indexes
# Hassas dosyaları koruyun
<FilesMatch "\.(htaccess|htpasswd|ini|log|conf)$">
Order Allow,Deny
Deny from all
</FilesMatch>
# Temiz URL desteği
RewriteEngine on
RewriteBase /
# HTTP/2 desteği
<IfModule http2_module>
Protocols h2,http/1.1
</IfModule>
# Varlıklar için önbellek kontrolü
<IfModule mod_headers.c>
Header set Cache-Control "public, max-age=86400, s-maxage=86400, must-revalidate"
</IfModule>
# Sıkıştırmayı etkinleştirin
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript
# Temiz URL'ler için sondaki eğik çizgileri yönlendirin
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /+$
RewriteRule ^(.*)/$ /$1 [R=301,L]
Drupal 9
Drupal 9 için .htaccess, HTTP/2 desteği ve daha sıkı güvenlik önlemleri gibi daha yeni web teknolojileriyle çalışmak için ek geliştirmeler içerir.
# Dizin taramasını ve sunucu imzalarını önleyin
ServerSignature Off
Options -Indexes
# Hassas dosyaları koruyun
<FilesMatch "\.(htaccess|htpasswd|ini|log|conf)$">
Order Allow,Deny
Deny from all
</FilesMatch>
# Temiz URL'leri etkinleştirin (Bu, Drupal'ın düzgün çalışması için esastır)
RewriteEngine on
RewriteBase /
# HTTP/2 ve modern önbellekleme için destek
<IfModule mod_http2.c>
Protocols h2,http/1.1
</IfModule>
<IfModule mod_headers.c>
Header set Cache-Control "public, max-age=86400, s-maxage=86400, must-revalidate"
</IfModule>
# Gzip sıkıştırmayı etkinleştirin
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript
# Drupal için temiz URL desteği
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /+$
RewriteRule ^(.*)/$ /$1 [R=301,L]
OpenCart
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
Magento (2.x)
Magento, sıkıştırma, önbelleğe alma ve güvenlik için kurallar içeren karmaşık bir .htaccess dosyasına sahiptir. Magento 2 için örnek:
<IfModule mod_php5.c>
php_flag memory_limit 756M
php_flag max_execution_time 18000
</IfModule>
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/pub/
RewriteRule ^(.*)$ pub/$1 [L]
</IfModule>
PrestaShop (1.7.x)
PrestaShop, .htaccess dosyasını kurulum sırasında veya SEO dostu URL ayarlarını değiştirdiğinizde otomatik olarak oluşturur.
# ~~start~~ Bu yorumu silmeyin, PrestaShop .htaccess dosyası tekrar oluşturulduğunda yorum dışındaki kodu otomatik olarak tutacaktır
# .htaccess, PrestaShop e-ticaret açık kaynak çözümü tarafından otomatik olarak oluşturuldu
# http://www.prestashop.com - http://www.prestashop.com/forums
<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>
RewriteEngine on
# Domain: www.example.com
RewriteRule . - [E=REWRITEBASE:/]
# API
RewriteRule ^api$ api/ [L]
RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
# Resimler
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# IE ve fancybox için AlphaImageLoader
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|svg)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
ExpiresByType application/font-woff "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType font/opentype "access plus 1 year"
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType font/otf "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/x-font-otf "access plus 1 year"
</IfModule>
<IfModule mod_headers.c>
Header unset Etag
</IfModule>
FileETag none
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/x-javascript font/ttf application/x-font-ttf font/otf application/x-font-otf font/opentype image/svg+xml
</IfModule>
</IfModule>
# Rewrite mod etkin değilse
ErrorDocument 404 /index.php?controller=404
# ~~start~~ Bu yorumu silmeyin, PrestaShop .htaccess dosyası tekrar oluşturulduğunda yorum dışındaki kodu otomatik olarak tutacaktır
# .htaccess, PrestaShop e-ticaret açık kaynak çözümü tarafından otomatik olarak oluşturuldu
# http://www.prestashop.com - http://www.prestashop.com/forums
<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>
RewriteEngine on
# Domain: www.example.com
RewriteRule . - [E=REWRITEBASE:/]
# API
RewriteRule ^api$ api/ [L]
RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
# Resimler
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# IE ve fancybox için AlphaImageLoader
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|svg)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
ExpiresByType application/font-woff "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType font/opentype "access plus 1 year"
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType font/otf "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/x-font-otf "access plus 1 year"
</IfModule>
<IfModule mod_headers.c>
Header unset Etag
</IfModule>
FileETag none
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/x-javascript font/ttf application/x-font-ttf font/otf application/x-font-otf font/opentype image/svg+xml
</IfModule>
</IfModule>
# Rewrite mod etkin değilse
ErrorDocument 404 /index.php?controller=404
Shopify, Squarespace, Adobe Commerce ve diğer bulut platformları
Shopify, Squarespace ve Adobe Commerce (eski adıyla Magento Commerce), doğrudan .htaccess dosyasına erişim sağlamayan bulut tabanlı platformlardır. Tüm yapılandırma, yönetim paneli aracılığıyla yapılır.
Bu tür hizmetlere Wix, Weebly, BigCommerce ve Jimdo dahildir. Bu platformlar, kullanıcıların sunucu yapılandırma dosyalarını manuel olarak düzenlemeye gerek kalmadan görsel arayüzler aracılığıyla web sitelerini yapılandırmalarına ve optimize etmelerine olanak tanır.
Htaccess dosyanızı geri yüklemede yardıma mı ihtiyacınız var?
Web sitenizin hangi CMS'yi kullandığından veya bozuk bir .htaccess dosyasını nasıl güvenli bir şekilde geri yükleyeceğinizden emin değilseniz, size yardımcı olmak için buradayız.
Teknik desteğimiz tüm Kodu.cloud müşterileri için tamamen ücretsizdir ve 7/24 açıktır. Basitçe bir destek bileti oluşturun, ekibimiz size dakikalar içinde yardımcı olacaktır.
Nelerin dahil olduğu hakkında daha fazla ayrıntı için destek politikamıza bakın.