【发布时间】:2014-11-19 12:39:58
【问题描述】:
我正在尝试为我的移动网站制作漂亮的网址。我有一个适用于桌面的工作站点,并且会为用户提供进入移动版本的选项。
我在与 index.php 相同的目录中有一个名为 mobile.php 的 php 文件。站点的参数将相同。桌面版的参数工作正常,但是。如果我输入 m.example.com,它将转到我的桌面版本,但是如果我输入 m.example.com/something,它将转到移动版本。
# changing www to nonwww
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#redirect for the mobile site
RewriteCond %{HTTP_HOST} ^m.example.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^/([^/]+)/?([^/]*)?/?([^/]*)?/?([^/]*)?/? [NC]
RewriteRule ^(.*)$ mobile.php?site=%1&brand=%2&model=%3&repid=%4 [L]
#redirect for dekstop.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^/]+)/?([^/]*)?/?([^/]*)?/?([^/]*)?/? [NC]
RewriteRule .* index.php?site=%1&brand=%2&model=%3&repid=%4 [L]
此外。当我在移动站点时,我尝试链接到我的资源 src="/image.png"。在桌面上它可以正常工作,但移动站点会为文件 m.example.com/image.png 生成 url 并且找不到资源。我通过输入整个 URL 绕过,但想使用其他方式。
我希望有人可以帮助我解决这个问题;)
【问题讨论】:
标签: php .htaccess redirect mobile