我不是一个新的开发人员并且已经与.htaccess合作多年了,但是今天我完全陷入困境并且不知道发生了什么。以下是我的完整htaccess文件:
Options All -Indexes
ReWriteEngine On
RewriteRule ^page/([a-zA-Z0-9_-]+)$ page.php?pageurl=$1
RewriteRule ^([a-zA-Z0-9_-]+)$ category.php?categoryurl=$1
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([0-9]+)-([a-zA-Z0-9_-]+)$ product.php?category=$1&subcategory=$2&productid=$3&producturl=$4
RewriteCond %{HTTP_HOST} www.website\.com$ [NC]
RewriteRule ^(.*)$ http://website.com/$1 [R=301,L]
website.com/category应该带我到它所做的类别页面,但由于某种原因,网址被更改,好像htaccess正在反向工作,我被发送到website.com/category.php?categoryurl=类别。
这与其他产品完全相同,我的产品页面应该是website.com/category/subcategory/123-producturl,但它也会重定向:
website.com/product.php/category/123-producturl?category=category&subcategory=subcategory&productid=123&producturl=producturl
任何人都知道为什么这样做是为了什么?
答案 0 :(得分:0)
尝试这个,你没有添加标志来结束HTACCESS中的行。
Options All -Indexes
ReWriteEngine On
RewriteRule ^page/([a-zA-Z0-9_-]+)$ page.php?pageurl=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)$ category.php?categoryurl=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([0-9]+)-([a-zA-Z0-9_-]+)$ product.php?category=$1&subcategory=$2&productid=$3&producturl=$4 [L]
RewriteCond %{HTTP_HOST} www.website\.com$ [NC]
RewriteRule ^(.*)$ http://website.com/$1 [R=301,L]