2012-03-04 21 views
2

私は別のURL(.htaccessで設定)を持っていますが、今はもっと機能を追加したいと思います。例えば.htaccess並べ替えと名前の競合

  • /セクション/
  • /セクション/ 1/
  • /セクション/ 3 /名前/

このセクションのページを表示する(リストの2番目はページ番号、3番目と4番目は並べ替え順、並べ替え順です。この場合は、デフォルトで名前descで並べ替えます。

は今、私はまたたい:

  • /セクション/
  • /セクション/ 1/
  • /セクション/ 3 /製品部、製品IDである

と製品名(効率のためにIDで照会できます)

これまでの回答:

RewriteEngine On 
RewriteRule ^([^/]+)$ index.php?section=$1 
RewriteRule ^([^/]+)/([0-9]+)$ index.php?section=$1&pagenum=$2 
RewriteRule ^([^/]+)/([0-9]+)/([^/]+)$ index.php?section=$1&pagenum=$2&orderby$3 

これは1つではありませんが、どちらの推奨でも動作しますか?ここで

答えて

4

はあなたが何ができるかです:

RewriteEngine On 
RewriteBase/

あなたがなどの一般的な機能のためにこれを使用することができます。

RewriteRule ^([^/]+)$ index.php?section=$1 [L,NC] 
RewriteRule ^([^/]+)/([0-9]+)$ index.php?section=$1&pagenum=$2 [L,NC] 

デフォルトでは、仮定(名前なしの製品を表示したくありません

RewriteRule ^([a-z0-9\-]+)/([0-9]+)/([a-z0-9\-]+)/?$ product.php?section=$1&id=$2&name=$3 [L,NC] 
:あなたはSEOのURL)特定のページのための今

をしたいです

ここにファイル名が表示されます。なぜなら3つのelments(section/id/name)があれば、製品を表示したいからです。

そして今、リスト/オーダー特定

RewriteRule ^([a-z0-9\-]+)/([0-9]+)/([a-z0-9\-]+)/(asc|desc)/?$ list.php?section=$1&pagenum=$2&sortcolumn=$3&orderby=$4 [L,NC] 

も注意してください、ここでファイル名。 URLの末尾にdescまたはascを追加すると、製品のリストが表示されます。この最後のパラメータにより、製品と製品リストを切り替えることができます。もちろん、常にascまたはdescキーワードを使用する必要があります。あなたが使用できる他の代替は、リストの例を表示するには、単語listまたはその他の関連する名前を使用することです。この場合は

RewriteRule ^list/([a-z0-9\-]+)/([0-9]+)/([a-z0-9\-]+)/(asc|desc)?$ list.php?section=$1&pagenum=$2&sortcolumn=$3&orderby=$4 [L,NC] 

listで始まるすべてのルールは、製品のリストではなく製品を表示します。

+0

このヘルプのおかげで、私はリスト/オプションが好きです。もう一度、より良いキーワードを使用します。 – Alexei

+0

あなたは大歓迎です –

関連する問題