приоритет mod_rewrite - PullRequest
       6

приоритет mod_rewrite

1 голос
/ 23 января 2010

Допустим, я хочу поддерживать URL-адреса, такие как твиттер, где: twitter.com/username перенаправляет на twitter.com/user_name.php?user=username

У меня есть следующее

RewriteRule ^(.*)$ user_name.php?user=$1

И это прекрасно работает. Но проблема в том, что теперь все, включая twitter.com/index.php, будет, конечно, перенаправлено на user_name.php

Как я могу создать исключения или приоритет, чтобы "реальные файлы" не переписывались? Я пытался добавить явное правило для index.php до и после него, но, похоже, оно не вступило в силу.

1 Ответ

2 голосов
/ 23 января 2010

Вам нужно добавить RewriteCond для этого

RewriteCond %{REQUEST_URI} !-f [OR] # for existing files 
RewriteCond %{REQUEST_URI} !-d # for existing directories
RewriteRule ^(.*)$ user_name.php?user=$1
...