.htaccess URL переписать проблему с точкой - PullRequest
0 голосов
/ 24 августа 2011

Я хочу создать свою структуру URL, например :: facebook, т.е. facebook.com/?pageid=122, для которой я использую htaccess, мод переписать как:

RewriteRule ^([a-zA-Z_\-]+)/?([a-zA-Z0-9\-=&_@]*)$ /$1.php?$2 [QSA,L]

, чтобы я мог переводить страницы как сайт.com / home /? pageid = 22 на site.com/home.php?pageid=22

Приведенный выше код работает нормально, за исключением того, что если я попытаюсь добавить точку как

RewriteRule ^([a-zA-Z_\-]+)/?([a-zA-Z0-9\-=&_@\.]*)$ /$1.php?$2 [QSA,L]
* 1008.htaccess перерывы.Мне нужна точка, чтобы я тоже мог передавать электронные письма, например site.com/home/?email=sohaib.dmc@gmail.com

Пожалуйста, помогите

Ответы [ 2 ]

2 голосов
/ 24 августа 2011

Попробуйте убрать обратную косую черту перед точкой.Поскольку он не считается специальным символом внутри скобок в регулярном выражении POSIX.

0 голосов
/ 24 августа 2011

Вам нужно переместить знак вопроса, потому что это специальный символ:

RewriteRule ^([a-zA-Z_\-]+)/\?([a-zA-Z0-9\-=&_@\.]*)$ /$1.php?$2 [QSA,L]

Знак вопроса делает предыдущий токен в регулярном выражении необязательным.Например: colou? R соответствует цвету и цвету.http://www.regular -expressions.info / option.html

...