繁体   English   中英

如何在子目录和参数中重写url?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM