2010-12-18 9 views
0

私のURLは/ items/category/item-name-id(idは数字)という形で書き直したいと思います。これで私のURLは次のようになります:items.php?cat = category & name = item-name & id = 12321URLをitem/category/item-name-itemidに書き直すにはどうすればいいですか?

ああ、私はmod-rewriteのコードを置く必要がありますか? .htaccesで

+0

juatは/ items/category/item-name-idにitem.php?cat = category&name = item-name&id = 12321を変更してコードに書き換えます。もちろん、いくつかの書き換えルールを使ってバックアップする必要があります。推奨ソリューションは –

答えて

1

RewriteEngine On 

# Enable these for debugging, disable when done (it's "expensive") 
# RewriteLog /var/log/apache2/rewrite.log 
# RewriteLogLevel 9 

# if the requested URI doesn't point to an existing file or directory 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# .. pass it off to items.php (or index.php, or..) with the path as q, 
# and whatever other GET parameters were there 
RewriteRule ^(.*)$ items.php?q=$1 [QSA] 

mod_rewriteのは、明らかに有効にする必要があり、Apacheのconfには、今すぐあなたに


"AllowOverrideのオプション"
または
"AllowOverrideのすべて" を与える必要があります文字列 "/ items/category/item-name-id"はGETパラメータ 'q'としてスクリプトに渡されます。必要に応じて '/'と ' - 'に分割し、各要素のテーブルルックアップを行います。

私は、それを分割したq配列を最初のオブジェクト(Categoryクラス)に渡します。これは、2番目のクラス(Nameクラス)をロードし、3番目などをロードします。彼らと一緒に行くだろう。

+0

+1です。 –

関連する問題