Я пытаюсь переписать URL для работы на моем сайте. Вот содержимое моего .htaccess:
RewriteEngine On
RewriteRule ^blog/?$ index.php?page=blog [L]
RewriteRule ^about/?$ index.php?page=about [L]
RewriteRule ^portfolio/?$ index.php?page=portfolio [L]
#RewriteRule ^.*$ index.php?page=blog [L]
Теперь 3 правила переписывания без комментариев работают отлично, если я попытаюсь http://www.mysite.com/blog/,, я перенаправлюсь на http://www.mysite.com/index.php?page=blog, одинаково для "about" и "portfolio". Тем не менее, если я ошибаюсь в блоге, скажем, что я пытаюсь http://www.mysite.com/bloh/,, то, очевидно, я получаю ошибку 404. Последнее правило, прокомментированное, должно было помочь предотвратить это. Любой URL должен быть перенаправлен в блог, но, конечно, это правило все еще анализируется, даже если мы успешно использовали предыдущий, поэтому я использовал флаг "last" ([L]). Если я раскомментирую свое последнее правило, все, включая блог, информацию о портфолио и портфолио, будет перенаправлено на блог. Разве «последний» флаг не должен останавливать выполнение, как только он находит соответствующее правило?
Спасибо.