我需要一个解决方案来解决我的重定向问题。在.htaccess
文件中,我有以下代码:
RewriteEngine On
RewriteRule ^category/([a-zA-Z0-9]+) category.php?page=$1 [NC,L,QSA]
这适用于像这样的查询
category.php?page=pinturas
并重定向到category/pinturas
。
但是,如果字符串有这样的-
:
category.php?page=aquoso-madeira
重定向到category/aquoso
任何帮助?
答案 0 :(得分:2)
category.php?page=aquoso-madeira
它重定向到category/aquoso
由于您的RewriteRule
模式不包含连字符(-
),因此它会匹配所有内容,但不包括第一个连字符。
在字符类中包含连字符:
RewriteRule ^category/([a-zA-Z0-9-]+) category.php?page=$1 [NC,L,QSA]
请注意,连字符(-
)必须位于字符类的开头或结尾,因为这是一个特殊字符,在其他地方使用时具有其他含义。
这适用于查询,例如category.php?page = pinturas并重定向到category / pinturas
请注意,此重写与您所描述的完全相反。
此规则采用category/pinturas
之类的请求,并在内部将其重写为category.php?page=pinturas
。 (此处没有外部重定向 - 这可能是您代码的另一部分?)