Я думаю, что я пытаюсь достичь невозможного результата.Переписать URL Параметр, содержащий точку
Сценарий PURL-Mailing, и у меня уже есть URL-адрес, переписанный для соответствия URL-адресу, отправленному клиенту.
Клиент вводит сайт по следующей области: http://domain.com/UserName
Переменная ИмяПользователя представляет GET-переменной, что эквивалентно http://domain.com/index.php?user=UserName
я достичь это со следующими правилами перезаписи:
RewriteBase/
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?name=$1 [QSA]
#This works perfect and translates to http://domain.com/UserName
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?name=$1 [L]
#This achieves the goal but does not reflect in the URI I want:
#http://domain.com/UserName
Чтобы идти дальше, есть также некоторые имена, содержащие точку в имени, как A.Jackson, которые также должны рассматриваться как UserName. Поскольку это только 13 Name, я мог бы их реализовать вручную. Я не знаю, как я могу предотвратить эту часть после того, как dot будет обрабатываться как расширение файла. Есть ли способ написать пользовательский дескриптор в * mod_rewrite * для этих? И если да, может ли кто-нибудь объяснить мне, как?
Спасибо заранее и с наилучшими пожеланиями!
Добавить точку в свое регулярное выражение '[A-Za-Z0-9_-. ] ' – Robert
Эй, Роберт, спасибо, но это вызывает внутреннюю ошибку сервера. Не работает для меня! – codedrop
Потому что точка должна быть экранирована с помощью \ – Robert