Я обновляю приложение php, которое в настоящее время не использует переписывание URL. Цель состоит в том, чтобы скрыть расширения файлов. Общая структура сайта выглядит следующим образомДобавление mod-rewrite к существующему сайту PHP
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/
вложенная папка в приведенной выше структуре является уникальным в том, что он является единственной подпапка, содержащей PHP files.All из других файлов в корневой папке.
Я через эти вопросы Mod Rewrite and PHP и Mod-Rewrite or PHP router? и mod_rewrite, php and the .htaccess file
Обновлено HTAccess. благодаря @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
Проблема теперь я получаю 500 вместо ошибки 404, когда я пытаюсь получить доступ к несуществующей странице, как LOCALHOST/inex.php. Журнал ошибок Apache дает мне следующие ошибки. (I доступ LOCALHOST/индекс, который загружается содержимое index.php, а затем, с помощью которого я нагруженные LOCALHOST/InEx, который дал мне ошибку 500.)
[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: нашел ответ на мой вопрос here. Вопрос решен.
Слишком сложно понять, чего вы пытаетесь достичь со своего поста, и это слишком долго. Вы должны рассмотреть возможность его переписывания для уточнения. – thomasmalt
@thomasmalt: Я переписал вопрос перезаписи – abel