1

(こんにちは!ここで何年も答えを見つけた後、スタックオーバーフローで質問するのはこれが初めてです...ありがとう!)

動的なページがあり、そのページのさまざまな状態を指す固定 URL が必要です。たとえば、「www.mypage.co」(/index.php) はベース ページであり、ユーザーの選択に基づいてコンテンツを再配置します。次に、「www.mypage.co/contentA」または「www.mypage.co/contentB」を指定して、「www.mypage.co」のページに目的のコンテンツを自動的にロードできるようにしたいと考えています。 .

本質的に問題は審美的なものです。簡単に www.mypage.co/index.html?state=contentA と記述して目的の場所に到達できることはわかっていますが、URL はシンプルで読みやすい (つまり、クリーンな) 状態に保ちたいと考えています。また、ホスティング関係の制限により、可能であれば、サーバーに依存しない (少なくとも LAM [PHP] スタック全体で) ソリューションを最も高く評価します。

また、クリーンな URL を実装する方法について間違った仮定を持っている場合は、適切で包括的な説明への指示をいただければ幸いです。見つからないようです...

4

2 に答える 2

0

htaccess ファイルを使用してすべてのリクエストを 1 つの場所にリダイレクトし、そこからクライアントに返すものを決定できます。Tonicが使用するhtaccess/dispatch システムに目を通します。

于 2013-07-26T14:49:34.413 に答える
0

Apache を使用している場合は、mod_rewriteを使用できます。正規表現を使用し、古い URL の一部を新しい URL のパラメーターに移動して、複数の安静な URL がすべて同じページに移動する、次のようなルールがあります。

RewriteRule ^/testapp/(name|number|rn|sid|unii|inchikey|formula)(/(startswith))?/?(.*) /testapp/ProxyServlet?objectHandle=Search&actionHandle=drillIn&searchtype=$1&searchterm=$4&startswith=$3 [NC,PT]

その特定の正規表現は次のような URL を受け入れます

  • testapp/名前
  • testapp/name/zuchini
  • testapp/name/startswith/zuchini

それらを同じページに転送します。

私もTomcatにUrlRewriteFilterを使っていますが、ご指摘のPHPのように、使い道がないようです。

于 2013-07-26T14:48:14.593 に答える