3

の文字をどのように扱うべきかを理解しようとしていますURLs。これは、ユーザーがコンテンツを保存し、URL.

だから、ウェブサイトのようなWikipediaものLast.FM

サイトを見ると、ユーザーが何かを書く
http://it.wikipedia.org/wiki/Trentemøllerと、アーティストのページにたどり着くことができます。

ページが読み込まれた後、次のように書かれている URL をコピーすると:
http://it.wikipedia.org/wiki/Trentemøllerしかし、テキスト エディタに貼り付けると、次のように貼り付けられます。
http://it.wikipedia.org/wiki/Trentem%C3%B8ller

そのため、文字øは次のように貼り付けられます%C3%B8

もちろんこのようなURL(アーティスト小林武史さんのページ)も同様です。

http://www.last.fm/music/小林武史
http://www.last.fm/music/%E5%B0%8F%E6%9E%97%E6%AD%A6%E5%8F%B2

1 番目または 2 番目の数字を入力すると、どのような場合でもページは機能しますが、なぜですか?

.htaccesandを使用して何かを行う必要があると思いますmod_rewriteが、よくわかりません。特殊文字は自動的に URL 特殊文字に変換されますか?

次に、PHP にコンテンツ名を使用して正しいクエリを実行させるにはどうすればよいでしょうか?

次のようなテーブルがある場合

table_users
- username
- age
- height
- weight
- sex
- email
- country

からボブを取得するmod_rewriteような住所を書くことはできますが、どうですか?http://mysite.com/user/bobusernametable_usershttp://mysite.com/user/小林武史

ここで、私がやろうと思っていることの簡単な例を示します。

#.htaccess
RewriteEngine On
RewriteRule ^(user/)([a-zA-Z0-9_+-]+)([/]?)$ user.php?username=$2

<?php
// this is the page user.php
// this is the way I use to get the url value
print $_REQUEST["username"];
?>

これは機能しますが、[a-zA-Z0-9_+-] に限定されています。セキュリティをあまり失うことなく、他の文字と同様にすべての文字との互換性を高めるにはどうすればよいですか?

誰かがトラブルを回避する方法を知っていましたか?

4

3 に答える 3

5

urlencode と urldecode を試す

編集 :

これは、URLのエンコードとデコードの視覚的な説明です

http://blog.neraliu.com/wp-content/uploads/2009/10/url-encoding.png

于 2010-01-24T21:02:26.727 に答える
2

ほとんどのブラウザurlencode() 小林武史%E5%B0%8F%E6%9E%97%E6%AD%A6%E5%8F%B2.

ルールを守って.htaccess mod_rewrite、次のようなものを使用することを検討しましたか:

RewriteEngine On
RewriteRule ^(user/)(.+?)[/]?$ user.php?username=$2
于 2010-01-24T21:38:46.660 に答える
0

私が理解している限り、ASCII 文字以外のすべての URL は一意の ASCII ベースの URL にマップされます。これは実際にはクライアント側の機能です。http://kmeleon.sourceforge.net/bugs/viewbug.php?bugid=631を見て、例を確認し、これを扱っている RFC へのリンクを確認してください。

于 2010-01-24T21:03:31.240 に答える