簡體   English   中英

htaccess和RewriteRule

[英]htaccess & RewriteRule

想知道這是否可能。

我正在使用htaccess重寫我的頁面,並且正在使用以下行:

RewriteRule ^([a-zA-Z0-9^-]+)$ page.php?page=$1

將其重寫為干凈的鏈接。 然后page.php適當地調用數據。 我想知道是否有可能,如果變量是3個字符長,它將重定向到另一頁。

RewriteRule ^([a-zA-Z0-9^-]+{3})$ small.php?char=$1

上面類似嗎? 那可能嗎? 我只是為了說明起見將{3}卡住了。 例如,如果我的地址是www.example.com/abc,它將重定向到small.php?char = abc,如果不再是它,它將重定向到page.php地址。

提前致謝,

您可以使用RewriteCond創建一個if語句,如果匹配則將用戶重定向到給定的鏈接。 RewriteCond定義一個規則條件,可以有多個條件,並且如果所有條件都匹配,則使用后續的RewriteRule:

RewriteCond %{REQUEST_URI} /^([a-zA-Z0-9^-]+{3})$
RewriteRule ^([a-zA-Z0-9^-]+{3})$ small.php?char=$1 [NC,L]

RewriteRule ^([a-zA-Z0-9^-]+)$ page.php?page=$1 [NC,L]

我會嘗試不帶+簡單方法,將small.php規則放在前面並添加L標志(最后一個),這樣,如果它與小版本匹配,它將退出:

RewriteRule ^([a-zA-Z0-9^-]{3})$ small.php?char=$1  [L]
RewriteRule ^([a-zA-Z0-9^-]+)$ page.php?page=$1     [L]

+代表一個或多個字符。 {3}代表3個字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM