htaccess-无法将重定向从GET写入“ /”

问题描述

我正在尝试:

int[]

但是网站给我404错误,这行怎么了?如果我转到带有get参数:RewriteRule ^pages/product/([0-9]+) pages/product?id=$1 页面,则此页面可以正常加载,但是product?id=1不会加载。

htaccess文件,它位于站点根目录:

product/1

解决方法

更改规则的顺序并添加标志esp L,以确保两个规则都不会相互重叠:

ErrorDocument 404 /404.php
Options -MultiViews
RewriteEngine On
AddDefaultCharset utf-8

RewriteRule ^pages/product/(\d+) pages/product.php?id=$1 [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]