[英]How to Rewrite a url in a subdirectory and parameters?
这是我正在使用的页面:
www.domain.com/clothing/mens/brand.html?brand=DOPE
我想将其更改为:
www.domain.com/clothing/mens/DOPE
我目前正在使用:
RewriteEngine On
RewriteRule ^mens/brand/([0-9a-zA-Z]+) mens/brand.php?brand=$1 [NC,L]
但这会产生不希望的效果:
www.domain.com/clothing/mens/brand/DOPE
当我删除“品牌”时:
RewriteRule ^mens/([0-9a-zA-Z]+) mens/brand.php?brand=$1 [NC,L]
我没有收到错误,但页面空白。 我究竟做错了什么? 我已经尝试了一切,似乎没有任何效果:(
尝试这个:
RewriteEngine On
RewriteRule ^clothing/mens/([0-9a-zA-Z]+) /clothing/mens/brand.html?brand=$1 [NC,L]
您正在使用的页面是brand.html还是brand.php?
让我们回顾一下。 您要进行以下重定向:
clothing/mens/DOPE -> clothing/mens/brand.html?brand=DOPE
但是,您使用的规则(问题中首先提到的规则)将做到这一点:
mens/brand/DOPE -> clothing/mens/brand.html?brand=DOPE
我认为您应该使用以下规则:
RewriteEngine On
RewriteRule ^clothing/mens/([\da-z]+) mens/brand.php?brand=$1 [NC,L]
请注意,您可以使用[\\da-z]
(或[0-9a-z]
)代替[0-9a-zA-z]
,因为您使用的是No Case [NC]
标志。
感谢所有尝试提供帮助的人,但是对于其他寻求答案的人,这是行之有效的。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^mens/([^/]+)$ mens/brand.php?brand=$1 [L]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.