htaccess email regex
Я пытаюсь написать скороговорку таким образом, чтобы эта ссылка:
http://www.mysite.com/link/go/[email protected]
интерпретируется так:
http://www.mysite.com/[email protected]
Но я не знаю, как писать. Я попробовал это, но это не работает. Нужна помощь, пожалуйста.
Это то, что я написал в моем файле.htaccess, но не работает:
Опции +FollowSymlinks Переписать Engine на RewriteRule ^ ссылка / go / обзор /([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-]+
будут соответствовать только буквы и цифры, нет @
или же .
,