2016-09-28 43 views
1

起初,我很抱歉地提出這個簡單的問題,但我真的不知道如何用我的特殊路徑構建規則。用特定路徑構建重寫規則

我的項目的路徑是這樣的:

www.example.com/cate/123456/guide/index.html 
www.example.com/cate/123456/guide/001.html 
www.example.com/cate/123456/guide/002.html 
www.example.com/cate/123456/guide/003.html 
www.example.com/cate/123456/guide/004.html 
...and more 

隨着123456的類別編號,它會自動改變,但裏面的文件結構將是相同的。

現在我有手機版本:

www.example.com/cate/123456/guide/**m_index.html** 
www.example.com/cate/123456/guide/m_001.html 
www.example.com/cate/123456/guide/m_002.html 
www.example.com/cate/123456/guide/m_003.html 
www.example.com/cate/123456/guide/m_004.html 
...and more 

所以我的問題是我如何可以重定向到m _ * HTML時通過手機訪問。?

例:

的index.html - > m_index.html 001.html - > m_001.html ...

任何建議?

+0

重定向是一種可能的方法來此,但通常不是一個好一個。而是使用一些路由腳本,它在後臺提供所需的標記代碼。更清晰的網址,更靈活,更細緻的控制。 – arkascha

回答

1

您可以在網站根目錄的.htaccess嘗試此規則:

RewriteEngine On 

RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-"[NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR] 
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android"[NC] 
RewriteRule^- [E=MOBILE:1] 

RewriteCond %{ENV:MOBILE} =1 
RewriteRule ^(cafe/[\w-]+/guide)/?$ /$1/m_index.html [L,NC,R=301] 

RewriteCond %{ENV:MOBILE} =1 
RewriteRule ^(cafe/[\w-]+/guide)/(?!m_)([\w-]+\.html)$ /$1/m_$2 [L,NC,R=301] 
+0

它的工作原理。你真棒!但我有一些錯誤。我的index.html只是顯示www.example.com/cate/123456/guide/只有沒有index.html。你能幫我調整一下嗎? – TommyDo

+0

不,我嘗試使用.../guide /訪問移動設備,但沒有重定向到/guide/sp_index.html,但我嘗試輸入/guide/index.html它的確如此... – TommyDo

+0

m_和sp_是同樣,我錯了,複製它......我做到了。我添加了更多規則,如RewriteRule ^(category/[\ w - ] +/guide)/(?! sp _)$ /$1/sp_index.html [L,NC,R = 301]。但在PC中,它也會重定向到移動網站。 – TommyDo