Htaccess Rewrite Bulunamadı

2 Cevap php

I Mod Rewrite index.php kaldırmak için kullanıyorum. Ben sorguları kullanmak istemiyorum. I-foo.com/bar foo.com/index.php/bar olarak yorumlanmalıdır istiyoruz.

Bu ince yapar, ama bana Not Found error verir. İstenen URL / home / foo / www / index.php / bar bu sunucuda bulunamadı.

Why!!

2 Cevap

Update

Ben sadece yapmak isteyen ne anladım düşünüyorum. Görüyorsunuz, perde arkasında sorguları geçirebiliriz, ama sen perde arkasında düşündüren ne geçemez. Sen gerçek bir yönlendirme yapmak zorunda. Böyle bir şey (önemli kısmı R olan):

RewriteRule ^bar$ index.php/bar [NC,QSA,R]

Bu yeni özel yolu kullanarak sayfasına yönlendirme zorlar. Eğer bu aranan ne?

Original Answer

Siz böyle bir PHP sayfası bir yolunu geçemez o will be interpreted as part of a path. Şansını dosya bir dizin içinde bir . ile adlandırılmış olabilir Linux / Unix makinede vardır. Üzgünüm, ama sen bir sorgu dizesi kullanmak zorunda olacak:

RewriteBase /
RewriteRule ^bar$ index.php?page=bar [NC,QSA]

Or updated,

RewriteBase /
RewriteRule ^bar$ index.php?/bar [NC,QSA]

Ben aynı zamanda dizinleri pencereler destek son birkaç sürümleri . düşünüyorum, ama emin değilim.

index.php Eğer (tuhaf) adında bir dizin yoksa, neredeyse kesinlikle bir dosya, bir dizin değil index.php. Apache doğru böyle bir dizin olduğunu şikayet ediyor.

Muhtemelen index.php?page=bar gibi bir şey yapmak istemedim. Buna göre .htaccess ayarlayın.