Я бы подошел к этому немного по-другому.Если вы не очень хорошо знакомы с Apache, я рекомендую вам взять на себя как можно больше ответственности за Apache и настроить скрипт диспетчера, который решает, какой файл PHP выполняется, проверяя запрошенный URI.
Идея довольно проста: «перенаправить» каждый запрос на один файл PHP, а затем использовать этот файл, чтобы определить, какой файл вы действительно хотите выполнить.
Например,
http://domain.com/ => index.php? Request =
http://domain.com/moo/ => index.php? Request = moo /
http://domain.com/moo/1/2/3/4/ => index.php? Request = moo / 1/2/3/4 /
Et cetera
Пример:
(Предполагается, что у вас есть файлы .htaccess и index.php в корневом веб-каталоге)
.htaccess:
# "Hi Apache, we're going to be rewriting requests now!"
# (You can do all this in Apache configuration files too, of course)
RewriteEngine On
RewriteBase /
# Ignore *.gif, *.jpg. *.png, *.js, and *.css requests, so those files
# will continue to be served as per usual
RewriteRule \.(gif|jpg|png|js|css)$ - [L]
# For the rest, convert the URI into $_GET[ 'request' ]
RewriteRule ^(.*)$ index.php?request=$1 [QSA] [L]
index.php:
<?php
print "<pre>Request: " . $_GET[ 'request' ] . "\n";
// Dispatcher should be smarter than this -- otherwise you
// will have serious security concerns
$filename = $_GET[ 'request' ] . '.php';
if( file_exists( $filename ) === TRUE )
require( $filename );
else
print "Not found: $filename";