2010-01-30 80 views
1

我試圖在URLs中使用特殊字符,但是我在修改shuld以使其正常工作時遇到了一些問題。在&char和其他特殊字符中使用url

我見過這樣的URL:完美在Last.FM

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

的作品,但我怎麼能做到這一點?

我問在this question一些方法來做到這一點,但已經部分解決了我的問題,感謝正則表達式後在.htacess文件(.+?),但我還是對閱讀的URL問題。

如果我喜歡寫東西http://mysite.com/event/Dance&Jump和我的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或維基百科

如何使用特殊字符網址和常用程序的技術?

回答

1

嘗試B flag

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

非常感謝你,你可以這麼溫柔的給我一些鏈接,應歸結爲了[B]命令或僅僅是你給了一些解釋?再次感謝! – vitto 2010-01-30 17:44:42

+1

@Vittorio Vittori:當* B *標誌被設置時,反向引用值自動被URL轉義。 – Gumbo 2010-01-30 17:47:45

+0

再次感謝您的解釋! – vitto 2010-01-30 17:55:07

相關問題