htaccess email regex
Я пытаюсь написать скороговорку таким образом, чтобы эта ссылка:
http://www.mysite.com/link/go/emailadress@gmail.com
интерпретируется так:
http://www.mysite.com/process.php?email=emailadress@gmail.com
Но я не знаю, как писать. Я попробовал это, но это не работает. Нужна помощь, пожалуйста.
Это то, что я написал в моем файле.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-]+ будут соответствовать только буквы и цифры, нет @ или же .,