Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X
X

Wählen Sie Ihre Währung

Türk Lirası $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
Temiz URL ve Dahili Rewrite

URL’den `.php` ve `.html` Uzantısı Nasıl Kaldırılır?

Uzantıyı kaldırmak iki ayrı işlemdir: kullanıcı veya arama motoru `.php` URL’sine gelirse temiz URL’ye dış 301 yapılır; temiz URL isteği ise gerçek `.php` dosyasına dahili olarak rewrite edilir. Bu iki aşama ayrılmazsa sonsuz yönlendirme ve duplicate URL oluşabilir.

Remove .phpClean URLTHE_REQUESTInternal RewriteTrailing Slash
Apache / LiteSpeed Diagnostics
/urun.php -> /urun
Internal rewrite: /urun -> /urun.php
ERR_TOO_MANY_REDIRECTS
404 Not Found
01Dosyayı ve document root’u doğrulayın
02Yedek alıp hata logunu okuyun
03Sunucu ve uygulama bağlamını ayırın
04curl ile canlı sonucu doğrulayın
01
Güvenli teknik yaklaşım

PHP ve HTML Uzantısı Kaldırma nasıl analiz edilir?

Uzantıyı kaldırmak iki ayrı işlemdir: kullanıcı veya arama motoru `.php` URL’sine gelirse temiz URL’ye dış 301 yapılır; temiz URL isteği ise gerçek `.php` dosyasına dahili olarak rewrite edilir. Bu iki aşama ayrılmazsa sonsuz yönlendirme ve duplicate URL oluşabilir.

01

Sunucu türünü belirleyin

Apache, LiteSpeed, Plesk proxy veya NGINX-only yapıyı ayırmadan `.htaccess` sonucu beklemeyin.

02

Yedek ve log alın

Mevcut dosyayı tarihli yedekleyin; Apache/LiteSpeed hata kaydındaki directive ve satırı bulun.

03

Tek kural değiştirin

Redirect, rewrite, header ve erişim kurallarını aynı anda topluca değiştirmeyin.

04

Dışarıdan test edin

curl ile status, Location, Content-Type ve redirect sayısını ölçüp cache katmanlarını ayrıca kontrol edin.

Uzantıyı kaldırmak için tüm URL’lere geniş ve koşulsuz rewrite uygulamayın.

02
Canlı sorun sözlüğü

Apache, yönlendirme ve erişim mesajları

01kritik

Sonsuz yönlendirme

Anlamı: Dahili rewrite tekrar dış redirect koşuluna giriyor.

Muhtemel neden: REQUEST_URI ile ayrım yapılmıyor.

02uyari

Temiz URL 404

Anlamı: Karşılık gelen `.php` dosyası kontrol edilmiyor.

Muhtemel neden: Yanlış dosya yolu veya alt klasör.

03uyari

CSS ve görseller bozuldu

Anlamı: Relative asset yolları yeni URL derinliğine göre çözülüyor.

Muhtemel neden: Base path/relative URL.

04uyari

Query string kayboldu

Anlamı: Rewrite/redirect query davranışı yanlış.

Muhtemel neden: QSA/QSD veya hedefte `?`.

05uyari

Gerçek klasör rewrite edildi

Anlamı: Directory istisnası yok.

Muhtemel neden: `!-d` koşulu eksik.

06uyari

Alt klasörde hedef yanlış

Anlamı: Kök path’e rewrite ediliyor.

Muhtemel neden: RewriteBase/relative substitution.

07uyari

WordPress route çakışması

Anlamı: Dosya uzantısı kuralı front-controller ile yarışıyor.

Muhtemel neden: Kural sırası.

08bilgi

MVC’de dosya yok

Anlamı: Temiz URL fiziksel `.php` dosyasına değil router’a gitmeli.

Muhtemel neden: Front-controller mimarisi.

Bu ifadeyle eşleşen kayıt bulunamadı.

03
Kopyalanabilir kontroller

curl, Apache log ve dosya testleri

İki URL testi

for u in https://example.com/urun.php https://example.com/urun; do curl -sS -o /dev/null -w "$u -> %{http_code} %{url_effective} redirects:%{num_redirects}\n" -L "$u"; done

Uzantılı ve temiz URL sonuçlarını karşılaştırır.

Location zinciri

curl -sIL --max-redirs 10 'https://example.com/urun.php?id=42' | grep -iE '^HTTP|^location:'

Query string ile redirect zincirini gösterir.

Gerçek PHP dosyaları

find . -maxdepth 2 -type f -name '*.php' -printf '%P\n' 2>/dev/null | sort | head -n 100

Rewrite’e konu olabilecek PHP dosyalarını listeler.

Kural sırası

grep -nE 'THE_REQUEST|REQUEST_FILENAME|RewriteRule|RewriteCond' .htaccess

Uzantı ve front-controller kurallarını sıra numarasıyla gösterir.

Asset kontrolü

curl -sL https://example.com/urun | grep -ioE '(src|href)=["'"'][^"'"']+' | head -n 40

Temiz URL sayfasındaki asset yollarını gösterir.

Canonical kontrolü

curl -sL https://example.com/urun | grep -ioE '<link[^>]+rel=["'"']canonical["'"'][^>]*>' | head -n 1

Canonical URL’nin uzantısız hedefi gösterip göstermediğini kontrol eder.

04
Doğru ve hatalı yapı

.htaccess kural karşılaştırmaları

Yalnız dahili rewrite

Riskli / Hatalı
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L]
Doğru Yaklaşım
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php(?:[\s?]) [NC]
RewriteRule ^(.+?)\.php$ /$1 [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [END]

Gerçek dosya istisnası

Riskli / Hatalı
RewriteRule ^(.+)$ $1.php [L]
Doğru Yaklaşım
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [END]

HTML uzantısı

Riskli / Hatalı
RewriteRule ^(.+)\.html$ $1 [L]
Doğru Yaklaşım
RewriteCond %{THE_REQUEST} \s/+(.+?)\.html(?:[\s?]) [NC]
RewriteRule ^(.+?)\.html$ /$1 [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+?)/?$ $1.html [END]

MVC front controller

Riskli / Hatalı
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L]
Doğru Yaklaşım
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L,QSA]
05
Altyapıya göre uygulama

Apache, cPanel, Plesk, LiteSpeed ve uygulamalar

Statik PHP Sayfaları

Her temiz URL fiziksel bir `.php` dosyasına eşlenebilir.

  • THE_REQUEST ile dış redirect’i ayırın.
  • Gerçek dosya/klasör istisnası kullanın.
  • Canonical ve iç linkleri temiz URL’ye güncelleyin.

MVC / Özel PHP / WISECP

Front-controller mimarisinde fiziksel uzantı kaldırma yerine router kullanılmalıdır.

  • WISECP route yapısını bozmayın.
  • index.php front-controller kuralını tek kaynak tutun.
  • Eski `.php` URL’lerine seçici 301 ekleyin.

WordPress / NGINX / LiteSpeed

WordPress zaten temiz URL üretir; özel dosya kuralları yönetilen bloktan önce olmalıdır.

  • NGINX-only sistemde `try_files`/location kullanın.
  • LiteSpeed üzerinde Apache uyumlu kuralları test edin.
  • Cache sonrası iki URL’nin sonuçlarını doğrulayın.
Yanlış müdahaleler

Kesinlikle yapmayın

  • Uzantıyı kaldırmak için tüm URL’lere geniş ve koşulsuz rewrite uygulamayın.
  • Dahili rewrite ile dış 301’i aynı koşul altında çalıştırmayın.
  • MVC projede fiziksel `.php` dosyası varsayımı yapmayın.
  • Canonical ve iç linkleri eski uzantılı URL’de bırakmayın.
İşlem sonrası kontrol

Çözümü doğrulayın

  • Uzantılı URL tek 301 ile temiz URL’ye gidiyor.
  • Temiz URL 200 dönüyor ve redirect loop oluşmuyor.
  • Query, asset ve form action yolları korunuyor.
  • Sitemap, canonical ve iç linkler yalnız temiz URL kullanıyor.
06
İç SEO içerik kümesi

İlgili .htaccess çözümleri

07
Birincil kaynaklar

Apache, WordPress ve panel belgeleri

08
Sık sorulan sorular

PHP ve HTML Uzantısı Kaldırma hakkında merak edilenler

PHP ve HTML Uzantısı Kaldırma kuralı NGINX’te çalışır mı?

Hayır. NGINX `.htaccess` dosyalarını okumaz. Kuralın `server` veya `location` yapılandırmasına çevrilmesi gerekir.

.htaccess değişikliği için Apache restart gerekir mi?

Genellikle hayır; Apache `.htaccess` dosyasını istek sırasında değerlendirir. Ancak sunucu VirtualHost, modül veya AllowOverride değişikliğinde reload/restart gerekir.

Dosyayı düzenlemeden önce ne yapılmalı?

Mevcut dosyanın tarihli yedeği alınmalı, aktif document root doğrulanmalı ve değişiklik staging veya düşük trafikli zamanda test edilmelidir.

cPanel ile Plesk’te dosya nerede bulunur?

cPanel’de çoğunlukla `public_html`, Plesk’te `httpdocs` içindedir; addon domain ve subdomainlerin document root’u farklı olabilir.

LiteSpeed `.htaccess` kurallarını destekler mi?

LiteSpeed Apache uyumluluğu sayesinde kuralların büyük bölümünü destekler; bazı modül ve handler davranışları farklı olabilir.

500 hatasında ilk bakılacak yer neresi?

Apache/LiteSpeed error log içindeki tam directive ve satır kaydıdır. Dosyayı rastgele silmek yerine loga göre geri alınmalıdır.

Bu kodlar doğrudan canlı siteye eklenebilir mi?

Alan adı, document root, proxy, WordPress ve sunucu yapısı doğrulanmadan doğrudan eklenmemelidir. Örnekler uyarlanıp test edilmelidir.

EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

.htaccess ve Apache kurallarını siteyi erişilemez hâle getirmeden düzenleyelim

cPanel, Plesk, LiteSpeed, WordPress, özel PHP ve WISECP yapılarında yönlendirme, rewrite, CORS, erişim ve 500 hatalarını loglarla birlikte inceliyoruz.

Sunucu Desteği AlWhatsApp
Top