我正在开发一个网络应用程序,其中应该将其他网站的名称作为参数给出,我正在使用我的 apache 网络服务器上的 .htaccess 文件重写 url,这是我在 .htaccess 文件中编写的代码:
RewriteEngine On
RewriteRule ^([a-z0-9\_\-]+(\.)[a-z0-9\_\.\-]+)[^(site.php)] site.php?url=$1
RewriteRule ^([a-z0-9\_\-]+(\.)[a-z0-9\_\.\-]+)[^(site.php)]/ site.php?url=$1
我写[^(site.php)]
这个是因为它传递 site.php 作为参数,因为 site.php 与我的正则表达式匹配。这是正确的方法,但唯一的问题是参数的最后一个字符被省略,例如,当我在写时:
www.mywebsite.com/google.com
它采用google.co
并省略了最后一个m
。如果是通过google.co.in
,它的google.co.i
取舍n
。这可能是什么原因?