Скажем, я хочу, чтобы поддержать URLs как твиттер, где: twitter.com/username
перенаправляет twitter.com/user_name.php?user=username
mod_rewrite старшинство
У меня есть следующие
RewriteRule ^(.*)$ user_name.php?user=$1
И это работает отлично. Но проблема в том, что все, включая twitter.com/index.php
, будет, конечно, перенаправлено на user_name.php
Как я могу создать исключения или приоритет, чтобы «реальные файлы» не переписывались? Я попытался добавить явное правило для index.php до и после этого, но он, похоже, не вступает в силу.
Хорошо, что это гораздо лучше, чем мое решение - если он работает. Я должен попробовать это в проекте, который у меня есть. Не могли бы вы объяснить, что здесь происходит? – Erik
Это не работает для меня, domain.com/index.php все еще использует правило перезаписи для user_name.php – catbelly
На самом деле вы были довольно близки, это работает для меня: RewriteCond% {REQUEST_FILENAME}! -f – catbelly