簡體   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