2012-04-17 212 views
0

我为我的网站创建了名为mobile的子域名cPanel。我将移动设备重定向到该子域,但是那里存在一个使得AJAX调用实际域的JavaScript。我已将这些呼叫结构化为website.com/mobile/...。但是,这些都没有通过,我怀疑这是因为它在我的/mobile中寻找...,但该请求应该被重写为.htaccesswebsite.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] 

此作品在我的本地机器上而不是活的服务器上。我已经通过

<VirtualHost *:80> 
    DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/website/mobile" 
    ServerName mobile.website.local 
</VirtualHost> 

创建sudomain本地和它完美的作品:当我去mobile.website.localwebsite.local/mobile,我得到的移动网站,而当我去website.local/mobile/users/login我得到了AJAX请求的正确JSON输出。

如何让我的mobile子域在/mobile/中保持活动状态,但请求website.com/mobile/...与最后一个重写规则一起转发?

谢谢!

回答

0

只需添加特定的重定向你/移动,迫使忽略的文件或目录声明:

RewriteCond %{REQUEST_URI} ^/mobile [NC] 
RewriteRule ^(.+)(\?.+)?$ index.php?params=$1 [L,QSA] 

# redirect phones/tablets to mobile site 
RewriteCond %{HTTP_HOST} !mobile\.website\.com [NC] 
RewriteCond %{REQUEST_URI} !^/mobile [NC] 
RewriteCond %{QUERY_STRING} !^params=mobile(.*)$ 
RewriteRule ^(.*)$ http://www.mobile.website.com/$1 [L] 

# 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] 

任何事情让我知道,我会看看我能帮助:)

+0

谢谢回应:)不幸的是,请求仍然没有通过。我也尝试在我的其他重定向之前放置重定向,但这也不起作用。 – Garrett 2012-04-17 22:01:39

+0

你好,我一直在做一些测试,它看起来工作,你把代码之前的文件/目录声明?我会做更多的测试,我会很快回复你。 – 2012-04-17 22:11:04

+0

Hello @Garrett,你可以再次测试htaccess文件吗?我刚刚用一个新文件编辑我的文章。 – 2012-04-17 22:52:42