Я не абсолютно уверен, что "там должен, доступ управлять" означает для точки 3, таким образом, я беру его в качестве "доступа разрешения к файлам с этими расширениями".
Я думаю, что это делает то, что Вы просите, но это не могло бы быть тем, что Вы хотите - Вы эффективно собираетесь остановить что-либо помимо JS/CSS/etc, a.php и b.php от того, чтобы быть достижимым, который является, вероятно, не большим использованием.
# permit JS, CSS, etc
# - means don't rewrite the URL
# [L] means stop processing rules
RewriteRule \.(js|ico|txt|gif|jpg|png|css)$ - [L]
# Permit a.php and b.php
RewriteRule ^/[ab]\.php$ - [L]
# HTTP 302 redirect anything else to a.php
RewriteRule ^ http://your.server/a.php [R]
Ну, с одной стороны, необходимо добавить a.php к RewriteCond (a|b) .php, или иначе Вы создали бесконечный цикл, где a.php всегда перенаправляется к себе.
RewriteRule . a.php
– Arjan 8 September 2009 в 10:36