2016-09-28 21 views
1

最初は、簡単な質問を残して申し訳ありませんが、私の特別なパスでルールを構築する方法は本当に分かりませんでした。 123456で特定のパスで書き換えルールを構築する

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 

は、カテゴリ番号があり、それが自動的に変更されますが、ファイル構造は内側と同じになります。

マイプロジェクトのパスは次のようです。

今私はモバイル版があります。だから私の質問は、私は_ *メートルにリダイレクトするにはどうすればよいある

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 

をhtmlの際に、モバイルからのアクセス?

例:

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

任意の提案?

+0

リダイレクションが良い1本への可能なアプローチであるが、通常はありません。代わりに、目的のマークアップコードをバックグラウンドで配信するルーティングスクリプトを使用します。よりクリーンなURL、より柔軟な、細かいコントロール。 – 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 ^(カテゴリ/ [\ w - ] +/guide)/(?! sp _)$ /$1/sp_index.html [L、NC、R = 301]のようなルールを追加します。しかし、PCでは、モバイルサイトにもリダイレクトされます。 – TommyDo