Использование URL с & char и остальными специальными символами - PullRequest
1 голос
/ 30 января 2010

Я пытаюсь работать со специальными символами в URLs, но у меня есть некоторые проблемы с выполнением того, что я должен сделать, чтобы заставить его работать правильно.

Я видел такие URL, как:

http://www.last.fm/music/Simon+&+Garfunkel
http://www.last.fm/music/小林武史

отлично работает на Last.FM, но как я могу это сделать?

Я задавал на этот вопрос как-то это сделать, но частично решил мою проблему благодаря сообщению регулярного выражения в .htacess файле (.+?), но у меня все еще есть проблемы с чтением URL .

Если я напишу что-то вроде <a href="http://mysite.com/event/Dance&Jump" rel="nofollow noreferrer">http://mysite.com/event/Dance&Jump</a> и использую на своей странице php:

//.htaccess
RewriteEngine On
RewriteRule ^(event/)(.+?)[/]?$ event.php?event_name=$2

<?
    print urldecode ($_REQUEST["event_name"]);
?>

страница напечатает:

//<html> printed page

    Dance // "&Jump" is missing, how can I fix it?

//</html> printed page

Мне бы хотелось иметь возможность работать практически со всеми специальными символами, такими как Last.FM или Wikipedia

Как методы работают со специальным URL-адресом и общими процедурами?

1 Ответ

1 голос
/ 30 января 2010

Попробуйте флаг B :

RewriteRule ^event/(.+?)/?$ event.php?event_name=$1 [B]
...