0

ここに質問するのはこれが初めてなので、私に負担をかけないでください。ありがとうございました。

現在、joomla サイトをセットアップしています。テンプレート/index.php 内にページ、新しいテンプレート、およびモジュールを作成し、モジュールと呼びます。

機能する元の URL は次のようなものです: index.php/danh-sach-game?gt_name=game_mang_xa_hoi

danh-sach-game: ページです。game-mang-xa-hoi: モジュールへの入力パラメータです。

すべてが機能しますが、URLをこれに書き換えたい:

ダンサックゲーム/ゲームマングザホイ

だから私はコンテンツで .htaccess を作成しました:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^danh-sach-game/(.*)$ index.php/danh-sach-game?gt_name=$1 [L]
</IfModule>

今度は「MAGIC」の時間です: danh-sach-game/game-mang-xa-hoi という URL を入力すると、Joomla は「エラーが発生しました。要求されたページが見つかりません」というメッセージをプッシュします。

しかし、次のような数値でパラメーターにインデックスを付ける場合: danh-sach-game/1-game-mang-xa-hoi (注: 数値 1)。その後、それは動作します。数値による任意のパラメータ インデックスが機能します。

テスト ファイルに URL を書き換えます (index.php を test.php に置き換えます) ページ test.php が通常どおりパラメーターを受け取るよりも、数値インデックスの有無にかかわらずパラメーターを受け取ります。

4

1 に答える 1

0

これは、Joomla とほとんどの Joomla 拡張機能がコンテンツの ID 列を識別子として使用してデータベースを検索するためです。一部の SEF ツール (AceSef、sh404Sef など) は、エイリアス名 (数字とハイフンの後のテキスト) を使用してルックアップする機能を提供しますが、データベース クエリの追加コストがかかります (内部で適切な URL をクエリします)。

URL の最後の部分の数字が処理され、表示している特定のページ/コンテンツの ID として渡されます。これは、特定のコンポーネントの router.php ファイルで行われます。そのため、使用しているコンポーネントの router.php ファイルをチェックして、URL がどのように解析されるかを確認してください。

于 2012-10-06T05:32:16.593 に答える