Это должно делать то, что вы хотите:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /phone/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)/?$ index.php?menu=$1 [L]
RewriteRule ^(.*?)/(.*?)/?$ index.php?menu=$1&submenu=$2 [L]
// ИЛИ следующее, если значения всегда будут целыми числами (это лучший способ)
Options +FollowSymLinks
RewriteEngine On
RewriteBase /phone/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/?$ index.php?menu=$1 [L]
RewriteRule ^([0-9]+)/([0-9]+)/?$ index.php?menu=$1&submenu=$2 [L]
RewriteRule ^(.*?)/(.*?\.js)$ /phone/js/$2 [L] #Makes JS static content work
RewriteRule ^(.*?)/(.*?\.css)$ /phone/css/$2 [L] #Makes CSS static content work
Я бы не рекомендовал использовать (. *?). Лучше быть конкретным, что вы хотите, чтобы значение было.
Абсолютные пути будут лучше, чем статические.
Статический путь
<script src="script.js" type="text/javascript"></script>
Абсолютный Путь
<script src="http://localhost/phone/script.js" type="text/javascript"></script>
Если вы беспокоитесь и переносимости вы можете создать файл настроек, с этим в:
define("WWW_DOMAIN", "http://localhost/phone/");
Используйте это в верхней части каждой страницы как:
А затем сделайте:
<script src="<?php echo WWW_DOMAIN;?>script.js" type="text/javascript"></script>
Сделайте веб-сайт проще для разработки, прежде чем перемещать его на другой сервер. Тогда все, что вам нужно сделать, это один раз изменить WWW_DOMAIN.
Может быть проще, чем делать это с помощью htaccess.