Пытаюсь написать скороговорку таким образом, чтобы эта ссылка:
http://www.mysite.com/link/go/emailadress@gmail.com
интерпретируется так:
http://www.mysite.com/process.php?email=emailadress@gmail.com
Но я не умею писать. Я пробовал это, но это не работает. Нужна помощь, пожалуйста.
Это то, что я написал в моем файле .htaccess, но не работал:
Options +FollowSymlinks RewriteEngine on RewriteRule ^link/go/overview/([A-Za-z0-9-]+)$ /process.php?email=$1 [NC,L]
Спасибо
RewriteRule link/go/(.*)$ process.php?email=$1
Кажется, это работает. Вы должны выполнить проверку электронной почты в process.php
, а не в .htaccess
правило для удобства чтения (плюс, вы можете, по крайней мере, иметь красивое сообщение об ошибке на странице).
Это работает, потому что все, что после link/go/
будет соответствовать (.
соответствует любому символу, поэтому .*
означает соответствие любому символу столько раз, сколько возможно, и (.*)
означает сохранить это в $1
- The $
в конце означает конец строки, поэтому он будет совпадать до конца).
То, что вы пробовали, не сработает, потому что [A-Za-z0-9-]+
будут соответствовать только буквы и цифры, нет @
или .
.