2013-12-08 2 views
0

Я был с небольшим вопросом, у меня есть короткая система URL, который привыкает как так:Regex URL Rewrite для короткого URL'S

domain.com/KeiBf3 

, который идет в

domain.com/url.php?u=KeiBf3 

Но я также есть другие вещи, такие как

domain.com/file.ext 

И я продолжаю добавлять материал, но так как мои регулярные выражения сделаны таким образом, так что ничего (например, file.ext) вызывается на:

domain.com/url.php?u=file.ext 

И мое временное решение вручную добавить правило перезаписи URL-адрес для каждого файла, который я использую, позволяя им пройти и не дозвонились в основной редирект. Я не могу решить эту проблему, возможно, ограничивая все, что имеет "." характер в нем, чтобы он прошел, вот мое текущее правило перезаписи, может ли кто-нибудь помочь мне?

"^/([a-zA-Z0-9]+)" => "/url.php?u=$1" 

Я пытаюсь сделать так, чтобы это также не захватывало ". символов и сделать окончание «/» в конце URL-адреса, необязательно.

ответ

0

Вы можете использовать это правило в вашем DOCUMENT_ROOT/.htaccess файле:

RewriteEngine On 

RewriteRule ^([a-zA-Z0-9]+)/?$ /url.php?u=$1 [L,QSA]