0

我不是新开发人员,并且已经使用 .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 应该将我带到它所做的类别页面,但由于某种原因,url 被更改,好像 htaccess 正在反向工作,我被发送到 website.com/category.php?categoryurl=category。

这与其他的完全相同,我的产品页面应该是 website.com/category/subcategory/123-producturl 但它也会重定向:

website.com/product.php/category/123-producturl?category=category&subcategory=subcategory&productid=123&producturl=producturl

任何人都知道为什么这样做吗?

4

1 回答 1

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]
于 2013-07-09T18:08:26.653 回答