Php Can';我无法找出.htaccess重写规则语句的错误

Php Can';我无法找出.htaccess重写规则语句的错误,php,apache,.htaccess,permalinks,Php,Apache,.htaccess,Permalinks,我不知道如何正确使用.htaccess文件,所有的指南和教程都不是最容易理解的 这是我当前的代码 Options +FollowSymlinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/([^/]+)/([^/]+)/([^/]+)$ productpage.php?productidpage=$1&brand=$2&a

我不知道如何正确使用
.htaccess
文件,所有的指南和教程都不是最容易理解的

这是我当前的代码

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^/([^/]+)/([^/]+)/([^/]+)$ productpage.php?productidpage=$1&brand=$2&productname=$3 [L,NC]
我希望无论何时加载
productpage.php
,它都显示为
www.mysite.com/$1/$2/$3/

实际上,如果可能的话,我希望它显示为
www.mysite.com/$2/$3


productidpage
变量是在代码中拾取以加载页面的变量,
$2
$3
仅用于修改URL。

尝试删除正则表达式中的前导斜杠。当规则位于htaccess文件中时,当与
重写规则
的表达式匹配时,URI中的前导斜杠将被删除

# no slash---v maybe a slash here---v
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ productpage.php?productidpage=$1&brand=$2&productname=$3 [L,NC]

确保为包含
.htaccess
文件的
设置了
AllowOverride FileInfo
或(
AllowOverride All

然后在服务器或虚拟主机级别设置
RewriteLog
RewriteLogLevel
,以调试重写规则


更新:我强烈建议您查看-它有大量的
mod_rewrite
信息和示例。

我删除了斜杠,但它仍然没有做任何事情。@user1576895哦,您还缺少表达式末尾的斜杠(就在
$
之前)。grrr我插入了斜杠,没有效果。它只是什么都不做,甚至没有抛出一个错误。但如果我故意在其中键入crap,它会抛出一个错误。@user1576895这些是htaccess文件中唯一的规则吗?此htaccess文件是否在您的文档根目录中?在
productpage.php
前面添加斜杠是否有帮助?否在productpage前面添加斜杠没有任何效果。我正在使用hostgator作为我的主机。它不是我的主域名,上面安装了wordpress。这是我添加的另一个域,并为该域根目录分配了一个文件夹。.htaccess文件在那里。我还制作了一个test.mysite.com子域,我正在该子域上测试所有这些内容,如果这有什么不同的话。^Ok,所有这些内容都必须放在哪里,在.htaccess或实际的服务器设置中。我将进入未绘制的区域。
AllowOverride
在全球服务器设置中,在
中被识别。只能为整个服务器或特定虚拟主机启用重写日志记录。请参阅。