2017-07-04 94 views
1

我有網址這樣http://www.example.com/subdir/Subcontent?QUERY=420501我想它重定向到http://www.example.com/subcontent.html?QUERY=420501因此,如果子內容是在網址中使用動態那麼它將子內容的第一個字母變小,並重定向到最終網址http://www.example.com/subcontent.html?QUERY=420501的.htaccess重定向子目錄擴展和查詢字符串

我曾嘗試與此

RewriteCond %{QUERY_STRING} QUERY=([0-9]+) [NC] 
RewriteCond %{REQUEST_URI} !\.html 
RewriteRule ^subdir/(.*)$ /$1 [L,R=301] 

但它似乎並不工作,我認爲序列是不恰當的cangetting這個無能的條件。

回答

0

添加此RewriteMap在Apache或虛擬主機服務器配置:

RewriteMap lc int:tolower 

你也有一個額外的條件,利用這個規律來重定向和小寫網址:

RewriteCond %{QUERY_STRING} (^|&)QUERY=([0-9]+) [NC] 
RewriteRule ^subdir/([\w-]+)/?$ /${lc:$1}.html [L,NC,R=301] 
+0

我們已經非常接近網址是現在更改爲http://www.example.com/Subcontent.html?SSAID=420501,但問題是S是資金,它需要很小,我們也可以這樣做,因此可能會有額外的子內容,所以最終的網址將是http://www.example.com/subcontents.html?SSAID=420501感謝anubhava你是男人! –

+0

這是爲我工作的最終版本RewriteRule^subdir/[sU](。*?)/?$ /u$1s.html [L,NC,R = 301] –

+0

堆棧溢出正在改變[s U]到超級用戶如果s和U之間沒有空格,那麼它會將其更改爲超級用戶,只是想知道是否可以使它更好一些,例如,如果Subcontent是動態的,並且首字母大寫,如url http://www.example。 com/subdir/Subcontent QUERY = 420501那麼它可以自動小寫Subcontent的第一個字母? –

相關問題