.htaccess规则的正则表达式问题

时间:2011-11-10 15:17:27

标签: .htaccess mod-rewrite

我的网站上的.htaccess中有类似的内容:

RewriteRule ^([0-9] +)$ profilescorta.php?t = $ 1 [L]

因此,如果用户访问的链接如下:http:// url / 1231231234 - 页面显示正确

现在,如果有人试图访问如下链接:http:// url / 123.123.1234 - 显示404错误页面。

我已将此规则添加到.htaccess RewriteRule ^([0-9] +)。(。*)$ 1 $ 2 [N]

如果有人正在访问:http:// url / 123.123.1234 - 页面正确显示但现在问题是同一页面有2个不同的链接: http:// url / 123.123.1234和http:// url / 1231231234

当有人访问http://url/123.123.1234以重定向到http://url/1231231234时,我是否可以做到这一点?

谢谢, 波格丹

1 个答案:

答案 0 :(得分:0)

新解决方案:

#Better 1 redirect /123.123.1234 -> /1231231234
#Assume phone number in this format: [3 Digits] Dot [3 Digits] Dot [4 Digits]
RewriteRule ^([0-9]{3})\.([0-9]{3})\.([0-9]{4})$ /$1$2$3 [R=301]

旧的不好的解决方案:

[Bad] Double redirect /123.123.1234 -> /123123.1234 -> /1231231234
RewriteRule ^([0-9]+).(.*) /$1$2 [R]