Apache 多个相同的url访问重定向

Apache 多个相同的url访问重定向,apache,.htaccess,redirect,Apache,.htaccess,Redirect,我创建了一个定制产品/电子商务网站。它有一个类别、子类别和产品。以下是我要重定向的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
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/costs/tshirts,请确保PHP文件意识到我希望加载tshirts类别,而不是在衣服类别中显示名为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个错误——是否有任何重写规则可能导致这种情况发生。实际图像位于一个单独的目录中。不管怎样,website.com/images/costs/tshirts/bluepinted.jpg

您需要分别对每个规则应用条件:

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="/">


在您的页面标题中。

谢谢-但不能完全修复406个错误。服务器上是否有任何东西可能导致网站上的图片导致406?如果缓存刷新,它只会为每个资源吐出所有这些406个错误,即使它们exist@Ourx不太可能是因为重写规则。也许在别的什么地方。406通常意味着浏览器(或任何客户端)要求提供一个“可接受”响应列表,而服务器决定它无法满足其中任何一个。它无法满足这些响应,因为没有足够的内存,或者?这听起来像是服务器问题,而不是编码/开发人员问题?这不像我试图在服务器上执行exe文件或任何东西,我只想显示一个图像:(