Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

Subdomínio de resolução panorâmica do WordPress para obter um guia de configuração completo pseudoestático

1. objetivos principais

Altere a estrutura de URL do seu site WordPress do tradicionalFormulário de catálogoA elegante transformação em um modernoFormulários de subdomínioe certifique-se de que ele seja compatível com os mecanismos de pesquisa.

  • Estrutura do URL antes da conversãohttps://your-domain.com/[前缀]/[变量]/
  • Estrutura do URL após a conversãohttps://[变量].your-domain.com/

Descrição do espaço reservado para chaves:

  • your-domain.comSeu nome de domínio principal (por exemplo:aigcsoft.site).
  • [前缀]Um nome de diretório fixo que você usa para organizar seu conteúdo (por exemplo:toolappshowcase).
  • [变量]Identificador exclusivo (slug) de um artigo ou página (por exemplo, um identificador exclusivo):tiktokalyzer-tool).

2. trabalho preparatório e conceitos básicos

Antes de começar, verifique se você tem:

  • Privilégios administrativos de DNS para seu domínio da Web.
  • Privilégios administrativos de back-end (por exemplo, Pagoda Panel, cPanel, Plesk etc.) de seu servidor da Web (host).

A implementação desse programa se baseia em três módulos principais que trabalham juntos:

  • Camada de DNSComo um "catálogo de endereços", aponte todos os subdomínios para seu servidor.
  • Camada de servidor da Web (Nginx/Apache)Diretor de tráfego: atua como o "diretor de tráfego", recebendo todas as solicitações e lidando com políticas entre domínios e outras políticas.
  • Camada de aplicativos do WordPress (PHP)Mecanismo de conteúdo: atua como um "mecanismo de conteúdo", reconhecendo solicitações de forma inteligente, reescrevendo links e realizando redirecionamentos.

3. etapas detalhadas de configuração

Etapa 1: Configurar a resolução de inundação de DNS

Essa é a base para que qualquer subdomínio encontre seu servidor.

  1. colocaçãoPainel de gerenciamento de DNS do registrador do seu nome de domínio.
  2. equipamento: Adicionar um artigo A Registros.
    • Registro de host (host/nome)::* (asterisco)
    • Tipo de registro::A
    • Valor de registro (valor / aponta para)::您服务器的 IPv4 地址
    • TTLUse o valor padrão.

Etapa 2: Configurar o servidor da Web

2.1 Adição de um site de inundação e configuração de SSL

  1. colocação: Painel do Pagoda ou outro painel de administração de hospedagem -> Gerenciamento de sites.
  2. equipamento::
    • Adicionar siteNo campo "Domain Name" (Nome do domínio), digite *.your-domain.com, criar o site.
    • Solicitação de certificado SSLSolicitação de um para o sitecertificado curingaLet's Encrypt. Ao usar o Let's Encrypt, certifique-se de verificar também se o *.your-domain.com responder cantando your-domain.com.
    • Forçar HTTPSApós a implantação bem-sucedida do certificado, ative o recurso "Force HTTPS".

2.2 Configure a política CORS entre domínios (para resolver problemas de carregamento de ícones/fontes)

(col.) reprovar (um aluno) [变量].your-domain.com A página precisa ser carregada your-domain.com Essa configuração é necessária para os arquivos de fontes ou ícones no

  1. colocação: VocêSite principal (your-domain.com) do perfil do site.
  2. equipamento::
    • Para usuários do Nginx::
      no arquivo de configuração do Nginx no mestre. server{} Dentro do bloco, adicione o seguinte código:

      # --- 为字体文件添加 CORS 跨域许可 ---
      location ~* \.(eot|otf|ttf|woff|woff2)$ {
      # 允许任何来源的页面请求此服务器上的字体文件。
      add_header 'Access-Control-Allow-Origin' '*' always;
      }
      
    • Para usuários do Apache::
      No diretório raiz do mestre .htaccess adicione o seguinte código:

      # --- 为字体文件添加 CORS 跨域许可 ---
      <FilesMatch "\.(eot|otf|ttf|woff|woff2)$">
      Header set Access-Control-Allow-Origin "*"
      </FilesMatch>
      
  3. Salve o arquivo de configuração e recarregue o serviço.

Etapa 3: Modificar os arquivos principais do WordPress

Esse é o cerne da realização de todas as funções dinâmicas.

3.1 Modificações wp-config.php Arquivos (localizados no diretório raiz do site)

Esse arquivo é responsável por "traduzir" as solicitações de subdomínio em segundo plano.

equipamento: em wp-config.php (usado em uma expressão nominal) <?php Após a tag, adicione o seguinte bloco de código.Não se esqueça de mudar para seu próprio nome de domínio e prefixo de acordo com os comentários!

/**
* ===================================================================
*               子域名泛解析配置: 内部请求重写
* ===================================================================
* 作用:当服务器接收到子域名请求时 (例如: a.b.com), 在 WordPress 内部
*       将其解析为对特定目录的访问 (例如: /prefix/a/),而浏览器地址
*       栏的 URL 保持子域名不变。
*/
if (isset($_SERVER['HTTP_HOST'])) {
// --- 请在这里修改为您自己的配置 ---
$main_domain_parts = ['your-domain-part-1', 'your-domain-part-2']; // 例如: ['aigcsoft', 'site']
$url_prefix = 'tool'; // 这是您的固定目录前缀, 例如: 'tool', 'app' 等。
// --------------------------------
$host_parts = explode('.', $_SERVER['HTTP_HOST']);
// 判断条件:域名由3部分组成, 且不是www, 且主域名匹配
if (count($host_parts) === 3 && $host_parts[0] !== 'www' && $host_parts[1] === $main_domain_parts[0] && $host_parts[2] === $main_domain_parts[1]) {
$subdomain = $host_parts[0];
// 将请求 URI 重写为/前缀/目录下的对应页面
$_SERVER['REQUEST_URI'] = '/' . $url_prefix . '/' . $subdomain . '/';
}
}

3.2 Modificações functions.php (localizado no arquivo wp-content/themes/your-active-theme/)

Esse arquivo é responsável por três tarefas principais: evitar loops de redirecionamento, reescrever links dinamicamente e manipular 301 jumps para links antigos.

equipamentoEm seu tema atual functions.php papéisextremidadeadicione o seguinte bloco completo de código.Novamente, altere para seu próprio nome de domínio e prefixo de acordo com os comentários!

/**
* ===================================================================
*            子域名泛解析功能包: URL处理 & SEO重定向
* ===================================================================
*/
// --- 请在这里修改为您自己的配置 ---
$MY_APP_CONFIG = [
'main_domain' => 'your-domain.com', // 您的主域名, 例如: 'aigcsoft.site'
'url_prefix'  => 'tool',            // 您在 wp-config.php 中设置的相同前缀, 例如: 'tool'
];
// --------------------------------
/**
* 功能 1: 禁用 WordPress 规范链接重定向
* 作用:这是整个方案的基石。防止 WordPress 将子域名请求自动301跳转回
*       带目录的 URL,从而避免无限重定向循环。
*/
remove_filter('template_redirect', 'redirect_canonical');
/**
* 功能 2: 动态重写网站内所有相关链接
* 作用:在页面生成时,自动将 /prefix/slug/ 格式的链接替换为 slug.domain.com
*       的子域名格式,实现完美的伪静态效果。
*/
function my_theme_rewrite_internal_links($permalink, $post) {
global $MY_APP_CONFIG;
$prefix_to_check = '/' . $MY_APP_CONFIG['url_prefix'] . '/';
if (strpos($permalink, $prefix_to_check) !== false) {
$subdomain = $post->post_name; // 获取文章的 slug
return 'https://' . $subdomain . '.' . $MY_APP_CONFIG['main_domain'] . '/';
}
return $permalink;
}
add_filter('post_link', 'my_theme_rewrite_internal_links', 20, 2);      // 捕获标准文章链接
add_filter('post_type_link', 'my_theme_rewrite_internal_links', 20, 2); // 捕获自定义内容类型链接
/**
* 功能 3: 为旧链接设置 301 永久重定向
* 作用:当用户或搜索引擎直接访问旧的 /prefix/slug/ 格式的 URL 时,
*       自动执行一个 SEO 友好的 301 重定向,跳转到新的子域名地址。
*/
function my_theme_redirect_old_urls() {
global $MY_APP_CONFIG;
$domain_to_check = $MY_APP_CONFIG['main_domain'];
$prefix_to_check = '/' . $MY_APP_CONFIG['url_prefix'] . '/';
// 仅当访问的是主域名,且URL路径包含指定前缀时才执行
if ( $domain_to_check == $_SERVER['HTTP_HOST'] && strpos($_SERVER['REQUEST_URI'], $prefix_to_check) === 0 ) {
$slug = trim(str_replace($prefix_to_check, '', $_SERVER['REQUEST_URI']), '/');
if (!empty($slug)) {
$new_url = 'https://' . $slug . '.' . $domain_to_check . '/';
wp_redirect($new_url, 301); // 执行301永久重定向
exit;
}
}
}
add_action('template_redirect', 'my_theme_redirect_old_urls');

4. validação final e solução de problemas

  1. Limpando o cacheApós a conclusão de todas as modificações.necessariamenteLimpe o cache do plug-in do WordPress (por exemplo, WP Rocket), o cache da CDN (se houver) e o cache do navegador. É altamente recomendável usarModo sem rastreamentoRealize o teste.
  2. Verificar linkVisite a página inicial do seu site e clique com o botão direito do mouse para verificar qualquer um dos links de ferramentas/artigos para ver a respectiva href O atributo foi alterado para https://[变量].your-domain.com/ Formato.
  3. Verificar redirecionamentoNa barra de endereços de seu navegadorentrada manualUm endereço antigo, como https://your-domain.com/[前缀]/[变量]/Depois de pressionar Enter, observe se a barra de endereço salta instantaneamente para o novo endereço de subdomínio.
  4. Validação de subdomíniosVisite um endereço de subdomínio diretamente para ver se a página é exibida corretamente e se todos os ícones e estilos estão carregados corretamente.

Perguntas frequentes Solução de problemas:

  • Redirecionamentos infinitos (ERR_TOO_MANY_REDIRECTS): Inspeção functions.php Você adicionou o remove_filter('template_redirect', 'redirect_canonical');.
  • Os ícones/fontes são exibidos como caixas ou XsVerifique se a configuração CORS entre domínios na etapa 2.2 foi adicionada corretamente e está em vigor.
  • Link inalterado: Inspeção functions.php médio $MY_APP_CONFIG Os nomes de domínio e prefixos no site são exatamente os mesmos que os do seu site.
  • Tela branca do site ou erro 500: Inspeção wp-config.php talvez functions.php Há algum erro de sintaxe do PHP (geralmente erros de copiar e colar).

Guarde este documento em um local seguro, pois ele será de grande valia para você no futuro ao realizar migrações de servidores, atualizações de temas ou implementar a mesma estratégia em novos projetos.

Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

caixa de entrada

Entre em contato conosco

voltar ao topo

pt_BRPortuguês do Brasil