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

drd*_*win 7 regex .htaccess mod-rewrite

我需要转换我的网站的以下地址:http://mysite.com/do.php?id=123.W456/789intohttp://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

任何人都可以帮忙吗?

ani*_*son 4

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

  • 那么您还有其他问题,请尝试检查您的 Apache 错误日志。 (2认同)