Мне нужно преобразовать следующий адрес моего сайта: http://mysite.com/do.php?id=123.W456/789 в http://mysite.com/123.W456/789
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]
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)
http://mysite.com/123W456/789
http://mysite.com/do.php?id=123W456/789
, но НЕ перезаписывает строку URL с символом точки - http://mysite.com/123.W456/789
Может кто-нибудь помочь?
Мы используем \. для экранирования символа точки в файле htaccess, а не для объекта HTML для него. Использование объекта HTML заставит вас думать, что вы разрешаете символы &, # и ; вместо символа ..
\.
&
#
;