Şu anda url yeniden yazma kullanmayan bir php uygulama, güncelleme duyuyorum. Amaç dosya uzantılarını gizlemek için. Aşağıdaki gibi web sitesinin genel yapısı
root/
index.php
login.php
page1.php
page2.php
page3.php
page4.php
page5.php
page6.php
page7.php
page8.php
subfolder/
index.php
validpage.php
images/
css/
Bu diğer dosyalar php files.All içeren tek alt klasör kök klasöründe olduğu yukarıdaki yapı içinde alt klasör klasör benzersizdir.
Ben bu sorulara yoluyla olmuştur http://stackoverflow.com/questions/788188/mod-rewrite-and-php ve http://stackoverflow.com/questions/1868154/mod-rewrite-or-php-router ve http://stackoverflow.com/questions/265898/mod-rewrite-php-and-the-htaccess-file
Updated htaccess. sayesinde @thomasmalt
RewriteEngine on
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -l
RewriteRule ^.*$ - [NC,L]
# only rewrite if the requested file doesn't exist
RewriteCond %{REQUEST_FILENAME} !-s
# add .php to the url
RewriteRule ^(.*)$ $1.php
Ben localhost / inex.php gibi olmayan sayfasına erişmeye çalıştığınızda sorun şimdi, yerine bir 404 hata bir 500 olsun edilir. Apache error log bana aşağıdaki hataları veriyor. (Ben bana bir 500 hata verdi localhost / Inex yüklendiği, ardından index.php içeriğini yüklenen localhost / index erişilebilir.)
[Sat Sep 25 14:44:26 2010] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/index
[Sat Sep 25 14:44:36 2010] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Update: benim sorunun cevabını buldum here. Soru çözümlenir.