我通过cPanelmobile
创建了一个名为我的网站的子域。我将移动设备重定向到该子域,但那里有 javascript 可以对实际域进行 AJAX 调用。我已经组织了这些调用去。但是,这些都没有通过,我怀疑这是因为它正在寻找my ,但该请求应该在.htaccess中重写为。website.com/mobile/...
...
/mobile
website.com/index.php?params=mobile/...
这是.htaccess:
# redirect phones/tablets to mobile site
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
RewriteCond %{HTTP_HOST} !mobile\.website\.com [NC]
RewriteCond %{REQUEST_URI} !^/mobile [NC]
RewriteRule ^(.*)$ http://www.mobile.website.com/$1 [L,R=302]
# not a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# website.com/home => website.com/index.php?params=home
RewriteRule ^(.+)(\?.+)?$ index.php?params=$1 [L,QSA]
这适用于我的本地计算机,但不适用于实时服务器。我通过本地创建了一个 sudomain
<VirtualHost *:80>
DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/website/mobile"
ServerName mobile.website.local
</VirtualHost>
它运行良好:当我转到mobile.website.local
or时website.local/mobile
,我得到了移动站点,当我转到时,website.local/mobile/users/login
我得到了 AJAX 请求的正确 JSON 输出。
我怎样才能让我的mobile
子域保持活动状态,但要使用最后一个重写规则转发/mobile/
请求?website.com/mobile/...
谢谢!