htaccess 电子邮件正则表达式

htaccess 电子邮件正则表达式

我正在尝试以这样的方式编写一个模式,即这个链接:

http://www.mysite.com/link/go/[电子邮件保护]

解释如下:

http://www.mysite.com/[电子邮件保护]

但我不知道该怎么写。我试过了,但没有用。请帮忙。

这是我在 .htaccess 文件中写的但没有起作用:

选项 +关注符号链接
RewriteEngine 开启
重写规则 ^link/go/overview/([A-Za-z0-9-]+)$ /process.php?email=$1 [NC,L]

谢谢

答案1

RewriteRule link/go/(.*)$ process.php?email=$1

这似乎有效。为了便于阅读,您应该在 中进行电子邮件验证process.php,而不是在规则中进行验证(另外,您至少可以在页面上显示一条不错的错误消息)。.htaccess

这是有效的,因为其后的任何内容link/go/都会被匹配(.匹配任何字符,所以.*意味着尽可能多地匹配任何字符,并且(.*)意味着将其保存到$1-$最后的意味着行尾,所以它会一直匹配到最后)。

您尝试的方法不起作用,因为[A-Za-z0-9-]+只会匹配字母和数字,没有@.

相关内容