无法在我的mod_rewrite代码中转义点(。)

时间:2011-10-19 18:28:21

标签: regex .htaccess mod-rewrite

我需要将以下网址地址:http://mysite.com/do.php?id=123.W456/789转换为http://mysite.com/123.W456/789

我几乎通过以下.htaccess文件获得了这个崇高目标的成功

DirectoryIndex mysite.php

RewriteEngine On RewriteRule ^([A-Za-z0-9\/.]+)?$ mysite.php?id=$1 [L]

其中..(点)字符

的代码

这样的url字符串http://mysite.com/123W456/789变得很酷(即将其重写为http://mysite.com/do.php?id=123W456/789

但不要用点字符重写url字符串 - http://mysite.com/123.W456/789

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

我们使用\.来转义htaccess文件中的点字符,而不是它的HTML实体。使用HTML实体会让您认为您允许&#;字符而不是.字符。