2016-09-28 57 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