[英]Can't figure out what is wrong with my .htaccess RewriteRule statement
我不知道如何正确使用.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而已。
尝试删除正则表达式中的前导斜杠。 当规则位于htaccess文件中时,与RewriteRule
的表达式匹配时,将删除URI中的前导斜杠。
# no slash---v maybe a slash here---v
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ productpage.php?productidpage=$1&brand=$2&productname=$3 [L,NC]
确保为包含您的.htaccess
文件的<Directory>
设置了AllowOverride FileInfo
或( AllowOverride All
)。
然后在服务器或虚拟主机级别上设置RewriteLog
和RewriteLogLevel
以调试重写规则。
更新:我强烈建议您查看Ask Apache-它包含大量的mod_rewrite
信息和示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.