1

私は次のURL構造を持っています:

www.mysite.com/temporary/articles.php?artid=1

で変更したいと思います

www.mysite.com/temporary/articles/article-title-here.

どうすればそれを行うことができますか?

また、2 つの変数を含むリンクがあります。

www.mysite.com/temporary/products.php?catid=1&productid=1

私はそれを作ろうとしています:

www.mysite.com/temporary/products.php/category-name/product-name

前もって感謝します。

ゾラン

4

1 に答える 1

0

これを行うには、記事/カテゴリ/製品名を ID にマップできる何らかのタイプのスクリプトが必要になります。このスクリプトを書く限り、あなたは独力ですが、次の行に沿って何かを進めることができます:

  1. query-string variable がある場合article-nameは、その値を取得し、データベース (または使用しているストレージ) を検索して、記事 ID を確認し、次に load を読み込みます/temporary/articles.php?artid=ID。ID は、指定されたタイトルの ID です。
  2. クエリ文字列変数product-nameおよび/またはcategory-nameがある場合は、データベースを検索して、それらの名前のカテゴリと製品 ID を確認/temporary/products.php?catid=1&productid=1し、適切な ID を使用して読み込みます。
  3. それ以外の場合は、404 を返すようなことを行います

あなたが書いたこのphpスクリプトが/my-controller.php

RewriteRule ^temporary/articles/(.+)$ /my-controller.php?article-name=$1 [L]
RewriteRule ^temporary/products.php/([^/]+)/(.+) /my-controller.php?category-name=$1&product-name=$2

したがって、誰かが http://www.mysite.com/temporary/articles/foo-article をリクエストする/my-controller.php?article-name=foo-articleと、誰かがhttp://www.mysite.com/temporary/products.php/bars/fooをリクエストすると、に書き換えられます。 -productに書き換えられ/my-controller.php?category-name=bars&product-name=foo-product、必要な ID ルックアップを行うために作成するスクリプト次第であり、それを article.php または products.php スクリプトに渡します。

于 2012-05-19T22:42:05.087 に答える