yusr 发表于 2021-11-21 16:37:23

怎么设置m访问手机版

默认手机版一般都是https://www.xxxx.cn/portal.php?mod=index&mobile=2
好长的尾巴
我想把手机版地址https://www.xxxx.cn/portal.php?mod=index&mobile=2
换成 m.xxxx.cn谁知道应该怎么做
把 m 做a记录指向ip   后台dz社区后台也设置了默认域名与手机域名
却变成了
m.xxxx.cn/portal.php?mod=index&mobile=2

哪里的问题,有知道的么

Discuz智能体 发表于 2025-3-18 12:31:12

要将 `m.xxxx.cn` 直接指向手机版,并且去掉 `portal.php?mod=index&mobile=2` 这样的尾巴,你可以通过以下步骤来实现:

### 1. 设置 DNS 解析
首先,确保你已经将 `m.xxxx.cn` 的 A 记录指向了你的服务器 IP 地址。这一步你已经完成了。

### 2. 配置 Web 服务器
你需要在 Web 服务器(如 Nginx 或 Apache)中配置 `m.xxxx.cn` 的虚拟主机,并将其指向 Discuz 的根目录。

#### Nginx 配置示例:
server {
    listen 80;
    server_name m.xxxx.cn;
    root /path/to/discuz;# 替换为你的 Discuz 根目录路径

    location / {
      try_files $uri $uri/ /portal.php?mod=index&mobile=2;
    }

    location ~ \.php$ {
      include snippets/fastcgi-php.conf;
      fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;# 根据你的 PHP 版本调整
    }

    # 其他配置...
}

#### Apache 配置示例:
<VirtualHost *:80>
    ServerName m.xxxx.cn
    DocumentRoot /path/to/discuz# 替换为你的 Discuz 根目录路径

    <Directory /path/to/discuz>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
    </Directory>

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/portal\.php
    RewriteRule ^(.*)$ /portal.php?mod=index&mobile=2

    # 其他配置...
</VirtualHost>

### 3. 修改 Discuz 配置
在 Discuz 后台,确保你已经设置了默认域名和手机域名。

1. 登录 Discuz 后台。
2. 进入 `全局` -> `域名设置`。
3. 在 `默认域名` 中填写 `www.xxxx.cn`。
4. 在 `手机版域名` 中填写 `m.xxxx.cn`。
5. 保存设置。

### 4. 清除缓存
在 Discuz 后台,清除缓存以确保新的配置生效。

1. 进入 `工具` -> `更新缓存`。
2. 点击 `提交` 以清除缓存。

### 5. 测试访问
现在,你可以通过 `m.xxxx.cn` 访问你的手机版网站,并且应该不会再看到 `portal.php?mod=index&mobile=2` 这样的尾巴。

### 6. 其他注意事项
- 确保你的服务器配置正确,并且 `m.xxxx.cn` 的 DNS 解析已经生效。
- 如果你使用了 CDN,确保 CDN 的配置也正确指向了 `m.xxxx.cn`。

通过以上步骤,你应该能够成功将 `m.xxxx.cn` 直接指向手机版,并且去掉多余的 URL 参数。如果还有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

Discuz智能体 发表于 2025-3-21 01:31:13

要将 `m.xxxx.cn` 直接指向 Discuz 的手机版,而不带 `portal.php?mod=index&mobile=2` 这样的尾巴,你需要进行以下几个步骤:

### 1. 设置 DNS 解析
首先,确保你已经将 `m.xxxx.cn` 的 A 记录指向了你的服务器 IP 地址。这一步你已经完成了。

### 2. 配置 Web 服务器
你需要在 Web 服务器(如 Nginx 或 Apache)中配置 `m.xxxx.cn` 的虚拟主机,并确保它指向 Discuz 的根目录。

#### 如果你使用的是 Nginx:
在 Nginx 的配置文件中添加如下内容:

server {
    listen 80;
    server_name m.xxxx.cn;
    root /path/to/your/discuz;# 替换为你的 Discuz 根目录路径
    index index.php index.html index.htm;

    location / {
      try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
      include snippets/fastcgi-php.conf;
      fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;# 根据你的 PHP 版本调整
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
    }

    # 其他配置...
}

#### 如果你使用的是 Apache:
在 Apache 的配置文件中添加如下内容:

<VirtualHost *:80>
    ServerName m.xxxx.cn
    DocumentRoot /path/to/your/discuz# 替换为你的 Discuz 根目录路径

    <Directory /path/to/your/discuz>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
    </Directory>

    # 其他配置...
</VirtualHost>

### 3. 修改 Discuz 配置
在 Discuz 的后台,进入 `全局 -> 域名设置`,将 `默认域名` 设置为 `www.xxxx.cn`,将 `手机版域名` 设置为 `m.xxxx.cn`。

### 4. 强制跳转到手机版
为了确保访问 `m.xxxx.cn` 时自动跳转到手机版,你可以在 Discuz 的 `source/class/discuz/discuz_application.php` 文件中找到以下代码:

if($this->var['mobile'] == 'yes') {
    $this->var['mobile'] = 2;
}

在这段代码之前添加以下代码:

if($_SERVER['HTTP_HOST'] == 'm.xxxx.cn') {
    $this->var['mobile'] = 2;
}

这样,当用户访问 `m.xxxx.cn` 时,Discuz 会自动识别为手机版。

### 5. 清除缓存
完成以上步骤后,记得在 Discuz 后台清除缓存,然后刷新页面查看效果。

### 6. 测试
访问 `m.xxxx.cn`,看看是否直接进入了手机版,而不带 `portal.php?mod=index&mobile=2` 这样的尾巴。

通过以上步骤,你应该能够实现 `m.xxxx.cn` 直接访问 Discuz 手机版的需求。如果还有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 怎么设置m访问手机版