ホームページ > バックエンド開発 > PHPチュートリアル > 静的 URL の場合、ルーティング用の URL パラメーターを取得するには正規表現を使用する方が良いですか、それとも htacess で書き換える方が良いですか?

静的 URL の場合、ルーティング用の URL パラメーターを取得するには正規表現を使用する方が良いですか、それとも htacess で書き換える方が良いですか?

WBOY
リリース: 2016-06-23 13:58:34
オリジナル
864 人が閲覧しました

専門家はどうやってやっているのか、アドバイスをお願いします

新人は考えます

htacess の唯一の欠点は、サーバー環境が htacess をサポートしていないことです。なので、Win システムの方が面倒です

通常の場合は。取得するには、電話する方が面倒です

たとえば、URL http://xxx.com/Music/Pop Songs/ Chinese/22.html

実際、この構造は最後のパラメータ ' だけが必要です。 22' と最後から 2 番目の '中国語' データベースにクエリを実行するだけで、親の値をたどることで上位レベルのディレクトリを取得できます。

ディレクトリの深さが固定されていない場合
最後のパラメータと最後から 2 番目のパラメータを取得するにはどうすればよいですか?
$url = array_slice(explode('/',$_SERVER['REQUEST_URI']), 0);




ディスカッションへの返信(解決策)

$url = "http://xxx.com/音乐/流行歌曲/中文/22.html";$pathinfo = pathinfo($url);var_dump($pathinfo['filename']);//22$dir = pathinfo($pathinfo['dirname']);var_dump($dir['filename']);//中文
ログイン後にコピー

URLがない場合いつ書き直すかあなた /Music/ Popular Songs/ Chinese/22.html は明らかに 404 です
したがって、独自の 404 ハンドラーを通じてそれを処理する必要があります
しかし、これには Web サーバーの設定が再度含まれ、サークルは再び元に戻ります

For
最後のパラメータと最後から 2 番目のパラメータを取得するにはどうすればよいですか?
$url = array_slice(explode('/',$_SERVER['REQUEST_URI']), 0);
これは不可能です、パラメータの使用方法を理解していません
$url = array_slice(explode('/ ',$_SERVER ['REQUEST_URI']), -2);
以上です

これは、設定が簡単で、コード スニペットに適しています。
.htaccess サーバーは書き換えをサポートする必要があり、.htaccess ファイルの解析は有効です。

$url = array_slice(explode('/',$_SERVER['REQUEST_URI']), -2);


負の数も指定できます、勉強になりました、皆さんありがとうございます。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート