dtn55928 2014-10-20 02:44
浏览 62
已采纳

如果移动网站中不存在文件,如何将用户重定向到桌面网站?

I have created a www.example.com and m.example.com. The m.example.com resides inside the htdocs/m/ folder. I am using the below codes in the .htaccess:

# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]

#mobile
RewriteCond %{HTTP_HOST} ^m\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/m(/|$) [NC]
RewriteRule ^(.*)$ m/$1 [L]

# Resolve .php file for extension-less php urls
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]

Now,if users hit m.example.com/abc and if the abc files doesn’t exist, it will redirect users to the error page, as I have the below code on the .htaccess code inside the htdocs/m/ folder

ErrorDocument 404 http://m.example.com/error

But now I want the users to be redirected to www.example.com/abc instead, as abc may be a valid file in the desktop version. Only if the files also doesn't exist in the desktop site, the users will be redirected to the error page.

  • 写回答

1条回答 默认 最新

  • doumian3780 2014-10-20 03:53
    关注

    You can place this rule as first rule in DocumentRoot of m.example.com:

    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}\.php !-f
    RewriteRule ^(.+)$ http://www.example.com/$1 [L,R=302]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?