mod_rewrite regex help - PullRequest
       9

mod_rewrite regex help

1 голос
/ 17 мая 2010

Привет, ребята.

Я использую mod_rewrite, чтобы сделать некоторые перенаправления на веб-сайте.

Я хочу иметь возможность сделать следующее mySite.com/ -> Перейти на главную mySite.com/foo -> Перейти к redirect.php и перенаправить соответственно.

Мое правило перенаправления было

RewriteRule (^ \ w * $) redirect.php? Url = $ 1 [NC]

Но я, очевидно, что-то упустил, потому что когда я захожу на tomySite.com/, меня отправляют на redirect.php

Мне нужно регулярное выражение, которое допускает строчные и прописные буквы, а также подчеркивания, но оно должно игнорировать «пустые» строки, поэтому при переходе на mySite.com/ отображается индексный файл.

Любая помощь?

Спасибо!

1 Ответ

1 голос
/ 17 мая 2010
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^index.php index.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ redirect.php?url=$1 [NC]

Это может сработать. Кстати, вам не нужно использовать () в регулярном выражении, чтобы получить $ 1, который возвращает все по умолчанию.

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