2011-08-06 13 views
3

GETパラメータに基づいて、これらの種類のURLがページを読み込む方法はわかります。拡張URLはどのように機能するのですか

http://www.bedupako.com/songs.php?page=show_song_details.php&songid=1167&n=0&back=no

とバックエンドでこのような大まかなもの:

<?php 
switch($_GET['page']) { 
case 'xx': include('my page');break; 
. 
. 
. 
default: include('default');break; 
} 
?> 

しかし、どのようなURLのこれらの種類は動作しますか?つまり、データはどのように動的に読み込まれますか?

www.dummysite.com/parm/subpage1/xyz 
www.dummysite.com/parm/subpage2/xyz 

これらはどのようにウェブサイトのようなGETパラメータに似ていますか?

答えて

1

は示唆しているが、その非常に柔軟ではないので、ほとんどのサイトでは、これをしないと、これらの「かわいい」URLが2つ以上ある場合は、維持するのは面倒です。

代わりに、すべてを単一のindex.phpに転送するための基本的な書き換えルールを設定し、アプリケーション側で定義されたパターンに基づいてURIを解析します。これらは「ルート」と呼ばれます。ルート解析は、通常、定義されたルートを処理してURIと比較するある種のルーティングクラスで行われ、一致するルートのパラメータが一致すると解析されます。

これらのすべては、ルータの良い例を提供し、彼らは他の相互作用のクラスなしで理解するのは難しいです:

2

ほとんどの場合、これは、一連の規則に従ってオンザフライでWebサーバーによって処理されます。その詳細は、サーバーごとに、ケースバイケースで異なります。 Apacheでは通常、the mod_rewrite extensionを使って行われます。あなたが他の人のようにそれ自体ではmod_rewriteを使用することができます

関連する問題