ホームページ > バックエンド開発 > PHPチュートリアル > yii2 の URL ルールで文字列形式の ID を使用してルートを設定する方法を教えてください。

yii2 の URL ルールで文字列形式の ID を使用してルートを設定する方法を教えてください。

WBOY
リリース: 2016-08-18 09:16:12
オリジナル
1283 人が閲覧しました

背景:
URL の美化を有効にしました。現在の URL ルールは次のとおりです
URL:
example.com/site/view?id=06XBvOuYTbVE9pH8t%2FKJg%3D%3D
パラメーター ID の値は暗号化されています

この URL に変更したいです:
1.example.com/view/06XBvOuYTbVE9pH8t%2FKJg%3D%3D.html
どのように設定しても機能しません
しかし、これは可能です:
2 .example .com/view/1199.html

2 のルーティング ルールは一致するのが非常に簡単です:

リーリー

しかし、ルーティング ルール 1 はどのように構成しても機能しません:

リーリー

ルールは通常のルール d のみをサポートしますか?
この効果をもたらすように設定するにはどうすればよいですか?
オンラインで待っています

返信内容:

背景:
URL の美化を有効にしました。現在の URL ルールは次のとおりです
URL:
example.com/site/view?id=06XBvOuYTbVE9pH8t%2FKJg%3D%3D
パラメーター ID の値は暗号化されています

この URL に変更したいです:
1.example.com/view/06XBvOuYTbVE9pH8t%2FKJg%3D%3D.html
どのように設定しても機能しません
しかし、これは可能です:
2 .example .com/view/1199.html

2 のルーティング ルールは一致するのが非常に簡単です:

リーリー

しかし、ルーティング ルール 1 はどのように構成しても機能しません:

リーリー

ルールは通常のルール d のみをサポートしますか?
この効果をもたらすように設定するにはどうすればよいですか?
オンラインで待っています

上記の答えは、%2F が出現するということは、URL が /view/06XBvOuYTbVE9pH8t/FKJg%3D%3D.html になることを意味するため、/view/ の形式と一致しない必要があります。

それに、この計画は、控えめに言っても、ただの愚かな用事です。フレンドリー URL の目的は何ですか?可読性を向上させ、SEO に役立ちます。いわゆる暗号化された文字列にはこのような効果がありますか?以前の最適化を行わない直接の ?id= との違いはありますか?形だけだけど面白いですか?

正しい解決策は、/view/iphone-6s-gold などのスラッグ フィールドを使用することです。これが本当の最適化です。

他人が自分の ID をランダムに入力するのを防ぐためだけだとは言わないでください。これ以上の理由は書きたくないのです。そして、ナメクジの解決策はこの問題も解決します。

%2F は / として扱われるので、id の暗号化・復号化機能を外注して、%2F を特別に扱う(代わりにプレースホルダーを設定するなど)ことができると思います。

質問は 1 つですか、それとも 2 つですか?
タイトルは2、内容は1です

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