2013-12-08 110 views
0

我一直有一个小问题正则表达式URL重写,我有被使用像这样短网址系统:短网址

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]