一个网站多php版本,php – 单独不同版本的网站

本文介绍了一种优化跨平台网站的方法,通过使用不同子域针对不同设备(如m.domain.com for mobile,t.domain.com for tablets)提供定制内容。建议使用PHP处理请求,根据设备类型动态加载CSS、JS和图片资源,以提升移动设备用户体验。同时,文章强调了快速加载时间和可靠性的重要性,并提供了.htaccess重写规则和用户代理检测以实现设备定向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注意:这个解决方案更多的是性能比快速修复,我终于完成了

我假设,因为您使用memcache从MySQL数据库获取您的内容,然后解析它在PHP和保存到缓存和显示它。

每个版本都有不同的域。 iPhone / Android(和其他智能手机)将使用m.domain.com域,平板电脑(iPad,星系等…)将使用t.domain.com,所有其他人将使用o.domain.com和默认将使用www.domain.com或domain.com。

所有这些子域可以指向同一个文件夹(/ var / www / – 默认文件夹)。这将是什么诀窍是你怎么称呼它。

添加这个您的.htaccess或apache配置:

SetEnvIf Host ^www\. page=www

SetEnvIf Host ^o\. page=others

SetEnvIf Host ^m\. page=mobile

SetEnvIf Host ^t\. page=tablets

rewriterule ^.*$ index.php?subdomain=%{ENV:page} [QSA,L]

所以在你的PHP文件中,你可以使用$ _GET [‘subdomain’],并决定你需要做什么来生成你的页面。这样,它很容易维护,你有1个入口点,你可以在PHP中设置规则来检索您需要显示的内容(内容将是相同的,只有布局将改变)。

我建议的一件事是优化您的文件。您网站的移动版本应该以任何方式(CSS,图片,JS)。您不希望您的用户从网络速度较慢的移动设备加载大CSS,JS和图片。您希望尽可能优化较慢的网络设备。换句话说,您不想在176×220翻转手机设备上显示300×200徽标。一种方法是根据文件所在的域名命名文件。例如:

> file.css(4k)V.S. file-m.css(0.4k)

> logo.jpg(300px * 300px 15k)V.S. logo-m.jpg(100px * 40px 2k)

在你的PHP代码中,你可以有一个逻辑来动态加载JS,图像和CSS文件。请注意,您加载移动网站的速度越快,效果就越好。可靠性很重要,但您的用户也是。如果您的移动网站速度较慢,他们会趋向于不去您的网站而去其他地方。不是每个人都在他们的手机上使用3G / 4G网络或WiFi。此外,我建议使用输出压缩(如deflate)当你想访问您的文件。

这将提高您的加载时间,特别是对于移动设备。现在,如果你使用相同的文件,让我们说一个Javascript文件提交一个新闻信件,你不想复制它,也不复制它的名称。而不是在您的PHP中创建一个额外的逻辑,您可以创建一个符号链接,如下所示:

ln -s /var/www/js/file.js /var/www/js/file-m.js

使用此解决方案,您将需要根据他们使用的设备类型重定向到相应的网站。您不想要翻转手机查看您网站的iPhone版本。这里有一个技巧,你可以做到这一点:

// PHP version - also make sure the current domain is checked otherwise you will be in an infinite loop!

if(strpos($_SERVER['HTTP_USER_AGENT'],'iPhone') !== FALSE || strpos($_SERVER['HTTP_USER_AGENT'],'Android') !== FALSE)

{

header('Location: http://m.domain.com/');

exit();

}

OR在.htaccess / apache配置下的默认站点:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} "iphone|android" [NC]

RewriteCond %{HTTP_HOST} !^mobile.domain.com

RewriteRule ^(.*)$ http://m.domain.com/ [L,R=301] # or 302 if you want temporary

# etc...

至于常见的PHP文件,我会建议使用集中的地方,一个特定的路径,你可以使用和外面的世界不能。您可以将所有这些代码放在一个公共文件夹中,所有网站都可以访问这些文件。例:

/ web / lib /

这样,除了你,没有人可以直接访问你的文件。在您的PHP代码中,您将执行类似的操作(例如登录脚本):

define('BASE_PATH', '/web/lib/');

require(BASE_PATH . 'filex.php');

// etc...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值