Rumah  >  Soal Jawab  >  teks badan

Tidak dapat melaksanakan ubah hala htaccess ini

Saya ada satu maindomain.com,其中包含一个网站,这里的一些页面应该暂时重定向到我的子域 tmp.maindomain.com. Jadi saya menggunakan ubah hala ini dan ia mengubah hala ke tmp.maindomain.com 并且我得到一个无限循环重定向到 tmp.maindomain.com:

redirect 301 /mypage.php https://tmp.maindomain.com/mypage.php

Matlamat saya adalah jika mana-mana pengguna cuba mengakses https://www.maindomain.com/mypage.phphttps://maindomain.com/mypage.php 他应该被重定向 302 到 https://tmp .maindomain.com/mypage.php.

Terima kasih atas bantuan anda.

P粉806834059P粉806834059171 hari yang lalu1366

membalas semua(1)saya akan balas

  • P粉593649715

    P粉5936497152024-04-05 13:03:26

    Jika subdomain dan domain utama menghala ke lokasi yang sama (atau subdirektori yang terakhir), gelung tak terhingga akan berlaku.

    Dalam kes ini, anda perlu menggunakan mod_rewrite (bukannya mod_alias) dan semak nama hos yang diminta dengan jelas.

    Tetapi anda juga menggunakan ubah hala 301 Permanent. Anda perlu menggunakan 302 sebaliknya. 301s diteruskan oleh cache penyemak imbas, jadi anda perlu memastikan anda mengosongkan semua cache sebelum menguji.

    Cuba perkara berikut di .htaccessatas fail subdomain, sebelum sebarang arahan mod_rewrite sedia ada.

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(www\.)?maindomain\.com [NC]
    RewriteRule ^mypage\.php$ https://tmp.maindomain.com/rrreee [R,L]

    Perhatikan bahawa RewriteRule RewriteRule 模式(第一个参数)匹配的 URL 路径不以斜线开头(与 mod_alias Redirectcorak

    (argumen pertama) sepadan dengan laluan URL yang tidak bermula dengan garis miring (tidak seperti arahan mod_alias Redirect).

    Rujukan balik

    反向引用包含与整个 RewriteRule 模式 匹配的 URL 路径。 IE。本例中为 mypage.php$0 mengandungi laluan URL yang sepadan dengan keseluruhan RewriteRule

    corak

    . iaitu. Dalam kes ini, mypage.php. Ini hanya menjimatkan pertindihan kerana anda mengubah hala ke laluan URL yang sama pada sasaran. 🎜 🎜Ini lalai kepada ubah hala sementara 302. 🎜

    balas
    0
  • Batalbalas