0

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

这是我当前的代码...

Options +FollowSymlinks
RewriteEngine on

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

RewriteRule ^/([^/]+)/([^/]+)/([^/]+)$ productpage.php?productidpage=$1&brand=$2&productname=$3 [L,NC]

我希望它在加载www.mysite.com/$1/$2/$3/时显示。productpage.php

好吧,实际上我希望它显示得www.mysite.com/$2/$3好像这是可能的。

productidpage变量是在代码中用于加载页面的内容,$2纯粹$3是为了修改 URL。

4

2 回答 2

0

确保为包含您的文件设置了AllowOverride FileInfo或 ( )。AllowOverride All<Directory>.htaccess

然后在服务器或虚拟主机级别RewriteLog设置并调试您的重写规则。RewriteLogLevel

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

于 2012-08-05T04:27:12.350 回答
0

尝试删除正则表达式中的前导斜杠。RewriteRule当规则在 htaccess 文件中时,匹配 ' 表达式时,URI 中的前导斜杠将被删除。

# no slash---v maybe a slash here---v
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ productpage.php?productidpage=$1&brand=$2&productname=$3 [L,NC]
于 2012-08-05T04:22:29.547 回答