2017-10-08 31 views
-3

私はテニスラダーシステムに使用されるウェブサイト/アプリケーションを構築しています。これが何であるかわからない場合、基本的にはプレーヤーがはしごに参加し、お互いに挑戦できるトーナメント構造です。スコアリングシステムの設定方法に応じて、マッチスコアを提出した後、順位付けしてラダーを上下に移動させます。ウェブサイトのURLリダイレクト

私はサーバー側のスクリプト用にPHPを使用し、データベース用にMySQLを使用してサイトを構築しています。すべてがかなり順調に進んでいますが、私は他のテニスラダーサイトを見て、アクションを実行するときに自分のURLが私よりもはるかに単純であることに気付きました。

たとえば、私のサイトでクリックすると、ラダーの順位を表示すると、URLは次のようになります。myurl/ladders.php?ladderID = 4。ただし、別のラダーのウェブサイトのURLは次のようになります。https://tennisladders.net/ladders/188/

これは、特定の形式にリダイレクトされるように.htaccessファイルを変更するだけですか?

ラダーに参加するときに同じウェブサイトに気付きました。これは、https://tennisladders.net/ladders/join/1212/のようなURLを使用します。私はそのようなURLがどこにリダイレクトされるのか疑問に思っています - それはtennisladders.net/joinLadder.php ?ladderID = 1212のようなものにリダイレクトできますか?

非常に構造化されたURLを使ってウェブサイト上のアクションを達成する方法が混乱していると思いますが、別の.phpファイルを作成して.phpの後に名前値ペアを渡す方法は分かりますか?タスクを達成するための拡張機能。

+0

Googleの「URL書き換え」と「PHPルーティングライブラリ」。 –

答えて

0

現代のPHPサイトは、URLを内部関数呼び出しにマップするルーティングレイヤーの考え方に基づいて構築されています。これを実装する方法はたくさんありますが、いくつかの単純なものがクリーンアップするルールと、動的にプログラムを定義するより堅牢なものがありますが、原則はほとんど同じです。

ルーティングシステムの目標は、URL「プレゼンテーション」を基礎となるファイルシステムレイアウトから切り離すことです。 /ladders.php?ladderID=4のようなURLは醜いだけでなく、あなたをそのファイル構造にロックします。 /ladders/4のようなものはすっきりしていて、内部レイアウトを劇的に再構築してもそれをサポートすることは難しくありません。

ほとんどのdevelopment frameworksには、何らかのルーティングシステムが組み込まれています。これらは、Fat-Free Frameworkのような非常に希薄なものからLaravelのような非常に包括的なものまで、さまざまな種類があります。あなたのスタイルやニーズに合ったものを探し、それをうまく学び、何千ものコミュニティモジュールやアドオン、さらにはプラットフォーム自体に豊富な専門知識を活用することができます。

他のサイトについては、looks like they're using DjangoはPythonフレームワークです。それにはrouting layerもあります。

関連する問題