Varolan bir PHP web sitesine mod-rewrite ekleme

0 Cevap php

Ş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.

0 Cevap