Переписать, если папка не существует? - PullRequest
4 голосов
/ 17 декабря 2010

У меня есть следующий файл htaccess:

RewriteEngine On
RewriteRule ^([^/]*)$ /bio.php?bio=$1 [L]

Мне нужно сделать следующее:

  • Получить следующий переписанный URL: http://www.website.com/john-smith, чтобы перейтиto /bio.php?bio=john-smith (этот вид работает в данный момент)
  • Если папка уже есть (например, / about-us /), то вместо этого покажите файл в ней.На данный момент он делает, но добавляет в конце? Bio = about-us.
  • Идеально, если это возможно, работать с & без завершающего слеша.

Любая помощь очень ценится.1016 *

Спасибо

1 Ответ

12 голосов
/ 17 декабря 2010

Попробуйте что-то вроде этого:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ bio/bio.php?q=$1 [L]

Первая строка пропустит RewriteRule, если найдет соответствующий физический файл;вторая строка пропустит его, если найдет соответствующий каталог.Третья строка - это правило перезаписи, которое будет выполнено, если будут выполнены предыдущие условия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...