.htaccess: Alihkan beberapa subhalaman ke subhalaman baru, semua subhalaman lainnya ke halaman utama baru

Oct 21 2019

Saya telah mencari SO untuk mendapatkan jawaban tetapi tidak menemukan yang cocok dengan kriteria saya. Saya memindahkan toko web ke domain baru (memiliki 1000 produk). Untuk halaman dengan beberapa peringkat yang layak, saya ingin mengarahkannya ke subhalaman baru masing-masing. Semua halaman lain yang ingin saya alihkan ke halaman utama baru. Saya mencoba melakukannya dengan menggunakan .htaccess

shopold.com/cat/product1.html to shopnew.com/category/product1
shopold.com/cat/product2.html to shopnew.com/category/product2
All other pages from shopold.com to shopnew.com

Apa cara termudah untuk mencapai ini?

Jawaban

2 anubhava Oct 21 2019 at 16:48

Anda dapat menggunakan aturan ini di root situs Anda .htaccess:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?shopold\.com$ [NC] RewriteRule ^cat/product1\.html$ http://shopnew.com/category/product1 [L,NC,R=301]

RewriteRule ^cat/product2\.html$ http://shopnew.com/category/product2 [L,NC,R=301]

RewriteRule ^ http://shopnew.com/? [L,NC,R=301]

Secara umum, pertahankan aturan produk yang diketahui di atas dan simpan aturan umum yang mencakup semua di bagian bawah.


Berikut ini cara membandingkan non-regex REQUEST_URI:

RewriteCond %{REQUEST_URI} =/cat/product1.html
RewriteRule ^ http://shopnew.com/category/product1 [L,NC,R=301]

Sayangnya itu membutuhkan penggunaan RewriteCondkarena pola di RewriteRulememang membutuhkan regex.