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-]+ будут соответствовать только буквы и цифры, нет @ или же .,

Другие вопросы по тегам