0

カスタム製品/e コマース Web サイトを作成しました。カテゴリ、サブカテゴリ、および製品があります。リダイレクトしたいURLは次のとおりです。

website.com/clothes
website.com/clothes/
website.com/clothes/tshirts
website.com/clothes/tshirts/
website.com/clothes/tshirts/bluepinned
website.com/clothes/tshirts/bluepinned/

.htaccess エントリは次のとおりです。以下を一行で書く方法はありますか?たとえば、URL が website.com/clothes/tshirts の場合、T シャツ カテゴリをロードし、T シャツという製品を洋服カテゴリに表示しないことを PHP ファイルが認識していることを確認します。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(clothes)/([^/\.]+)/([^/\.]+)/?$ products.php?c=$1&sc=$2&p=$3 [NC,L,QSA] 
RewriteRule ^(clothes)/([^/\.]+)/?$ products.php?c=$1&sc=$2 [NC,L,QSA] 
RewriteRule ^(clothes)/?$ products.php?c=$1 [NC,L,QSA] 

製品画像を読み込むときにも 406 エラーが発生することがあります。これを発生させる可能性のある書き換えルールはありますか? とにかく、実際の画像は別のディレクトリにあります website.com/images/clothes/tshirts/bluepinned.jpg

4

1 に答える 1

0

各ルールに個別に条件を適用する必要があります。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(clothes)/([^/\.]+)/([^/\.]+)/?$ products.php?c=$1&sc=$2&p=$3 [NC,L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(clothes)/([^/\.]+)/?$ products.php?c=$1&sc=$2 [NC,L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(clothes)/?$ products.php?c=$1 [NC,L,QSA] 

相対パスと絶対パスの問題が存在する可能性もありますが、これは追加することで修正できる可能性があります

<base href="/">

ページのヘッダーに。

于 2012-08-23T02:07:22.657 に答える