Apache - 動的サブフォルダ

Apache - 動的サブフォルダ

YouTubeでフォルダを動的にする方法は?たとえば、次のようにルートディレクトリのユーザーチャネルにアクセスできます。

http://youtube.com/PewDiePie

各チャンネルの新しいフォルダを作成することは明らかに彼らのアプローチではなく、次のリンクもあります。

http://youtube.com/PewDiePie/about

これはhtaccess、Apacheを使用して行われますか、それともPHPを使用して行われますか? StackOverflowに連絡する必要がありますか?

ベストアンサー1

これをURL書き換えと呼びます。 Apache設定で直接RewriteEngineを使用するか、.htaccessを使用してApacheでこれを実行できます(実際に違いはありません)。他の多くのWebサーバーでこれを行うことができます(私はパフォーマンスと設定が簡単なのでnginxが好きです)。

URLを書き換えるとき、URLの動的部分(例では、/後ろと2番目の/前のすべての項目が動的部分の1つ)を一部のサーバーサイド言語に渡される変数に割り当てます。 PHPを使用してもJSPを使用しても構いません)。その後、サーバーサイド言語ではこれは一般的なGETパラメータであり、これを操作できます。データベースから関連データを読み込むなどの操作を行うことができます。

たとえば、次のように書き直します。

^(.*)/(.*)$ /controller.php?user=$1&page=$2

その後、PHPでは、コードは次のようになります。

echo $_GET['user'];

以下を印刷します。

PewDiePie

おすすめ記事