не может избежать точки (.) в моем коде mod_rewrite - PullRequest
7 голосов
/ 19 октября 2011

Мне нужно преобразовать следующий адрес моего сайта: http://mysite.com/do.php?id=123.W456/789 в http://mysite.com/123.W456/789

Я почти достиг успеха в этой благородной цели со следующим файлом .htaccess

DirectoryIndex mysite.php

RewriteEngine On RewriteRule ^([A-Za-z0-9\/.]+)?$ mysite.php?id=$1 [L]

, где . - это код . (точка) символа

с такой строкой URL все отлично получается http://mysite.com/123W456/789 (т.е. переписывает его в http://mysite.com/do.php?id=123W456/789)

, но НЕ перезаписывает строку URL с символом точки - http://mysite.com/123.W456/789

Может кто-нибудь помочь?

1 Ответ

4 голосов
/ 19 октября 2011

Мы используем \. для экранирования символа точки в файле htaccess, а не для объекта HTML для него. Использование объекта HTML заставит вас думать, что вы разрешаете символы &, # и ; вместо символа ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...