我创建了一个自定义产品/电子商务网站。它有一个类别,子类别和产品。以下是我要重定向的网址:
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确保PHP文件意识到我想加载T恤类别,而不是在衣服分类中显示名为tshirts的产品。
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错误 - 是否有任何重写规则可以实现这一点。无论如何,实际图像都在一个单独的目录中网站/images/clothes/tshirts/bluepinned.jpg
答案 0 :(得分: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]
也有可能通过添加
来解决相对vs绝对路径问题。<base href="/">
在您的页面标题中。