3Kami baru -baru ini merangka sistem untuk mengalihkan URL lama di PHP
supaya anda dapat mengelakkan kesilapan "Page tidak dijumpai" (saya cadangkan anda membacanya sebelum meneroka lebih lanjut). Dalam artikel ini, kami akan membuat sistem yang sama untuk WordPress, PHP CMS yang popular .
bagaimana wordpress berbeza?
Laluan WordPress semua permintaan melalui satu fail index.php tunggal. Di bawah keadaan biasa, semua URL yang tidak memetakan ke fail fizikal atau folder pada pelayan anda akan dikendalikan oleh WordPress. Ini termasuk semua alamat yang tidak sah, jadi tidak perlu mengkonfigurasi dokumen ralat 404 di Apache atau IIS.
Mungkin tidak perlu bimbang tentang mengalihkan URL lama jika anda telah menggunakan WordPress sejak hari pertama. Sistem ini cukup baik untuk mencari halaman yang betul, walaupun anda menukar struktur permalink anda (Tetapan> permalinks). Walau bagaimanapun, jika anda memindahkan kandungan dari tapak statik atau CMS lain, anda pasti akan mempunyai ketidakcocokan URL.
Mengemas kini tema
Kami akan mengendalikan pengalihan dalam tema WordPress anda. Anda boleh membuat plugin, tetapi:
- Pengalihan adalah tapak khusus dan plugin generik akan menambah lebih banyak kerumitan
- Kod ini tidak mungkin memerlukan kemas kini lebih lanjut dan lebih baik untuk mengelakkan pengguna mengkonfigurasi atau melumpuhkannya, dan
- membenamkannya dalam tema menjadikannya lebih mudah alih -anda hanya menyalin fail tema ke pelayan
Pertama, cari fail tema anda dalam WP-Content/Tema/
My-Theme-Name . Banyak tema menyediakan 404.php
fail untuk mengendalikan kesilapan "halaman tidak dijumpai", tetapi anda boleh membuatnya jika perlu; Contohnya:
<?php get_header(); ?>
<h1>Page not found</h1>
<p>Sorry, we cannot find that page.</p>
<p>Please browse the sitemap…</p>
<ul >
<?php wp_list_pages('title_li='); ?>
</ul>
<?php get_footer(); ?>
Salin selepas log masuk
Anda kini harus memasukkan redirect.php di bahagian atas fail 404.php, sebagai contoh:
<?php include('redirect.php'); ?>
<?php get_header(); // etc...
Salin selepas log masuk
.
Sekarang buat fail redirect.php dalam folder tema anda dan tambahkan kod berikut:
<?php
// current address
$oldurl = strtolower($_SERVER['REQUEST_URI']);
// new redirect address
$newurl = '';
// old to new URL map (for you to configure)
$redir = array(
'index.html' => '/',
'article1.html' => '/blogs/my-first-article',
'article2.html' => '/blogs/my-second-article'
);
while ((list($old, $new) = each($redir)) && !$newurl) {
if (strpos($oldurl, $old) !== false) $newurl = $new;
}
// redirect
if ($newurl != '') {
header('HTTP/1.1 301 Moved Permanently');
header("Location: $newurl");
exit();
}
?>
Salin selepas log masuk
Arahan pemetaan URL $ redir boleh dikonfigurasi seperti yang diperlukan. Sebagai alternatif, anda boleh menggunakan satu siri penggantian ekspresi biasa atau carian jadual pangkalan data untuk mencari $ NewUrl yang sah.
Saya harap ini dapat membantu dengan kesengsaraan URL WordPress anda. Jika anda mempunyai petua lain untuk menguruskan pengalihan, sila tinggalkan komen anda di bawah.
soalan yang sering ditanya mengenai mengalihkan URL lama di WordPress
Apakah yang dimaksudkan dengan URL dan mengapa penting dalam WordPress? Ini penting dalam WordPress kerana beberapa sebab. Pertama, ia membantu mengekalkan pengalaman pengguna yang baik dengan memastikan pelawat tidak menghadapi pautan yang rosak atau 404 kesilapan. Kedua, ia mengekalkan kedudukan SEO laman web anda dengan mengarahkan jus pautan dari URL lama ke yang baru. Akhir sekali, ia membolehkan anda menukar struktur tapak anda atau berhijrah ke domain baru tanpa kehilangan trafik anda yang sedia ada.
Bagaimana saya boleh membuat 301 redirect dalam wordpress?
301 redirect adalah pengalihan kekal yang melepasi antara 90-99% ekuiti pautan ke halaman yang diarahkan. Di WordPress, anda boleh membuat 301 redirect menggunakan plugin seperti Redirection atau Yoast SEO. Setelah memasang dan mengaktifkan plugin, anda boleh menyediakan pengalihan baru dengan memasukkan URL lama dan baru, memilih jenis redirect (301), dan menyimpan perubahan. 302 Redirect?
301 Redirect adalah redirect kekal, menunjukkan bahawa halaman asal telah dipindahkan ke lokasi baru secara kekal. Sebaliknya, 302 redirect adalah pengalihan sementara, digunakan apabila halaman asal dijangka tersedia lagi pada masa akan datang. Perbezaan utama terletak pada bagaimana ia mempengaruhi SEO. A 301 Redirect melepasi sebahagian besar ekuiti pautan ke halaman baru, sementara 302 redirect tidak. Dalam WordPress dengan mengedit fail .htaccess. Walau bagaimanapun, kaedah ini memerlukan pemahaman yang baik tentang pengekodan dan persekitaran pelayan Apache. Sebarang kesilapan dalam fail .htaccess boleh menyebabkan masalah serius di laman web anda. Oleh itu, disarankan untuk menggunakan plugin atau dapatkan bantuan profesional jika anda tidak yakin dengan pengekodan. Bekerja dengan betul dengan menggunakan alat dalam talian seperti pemeriksa redirect atau katak menjerit. Alat ini akan menunjukkan kepada anda kod status HTTP yang dikembalikan oleh pelayan untuk URL yang diminta. Kod status 301 atau 302 menunjukkan bahawa pengalihan berfungsi dengan betul. Anda telah memasukkan URL lama dan baru yang betul. Jika URL betul, cuba membersihkan cache penyemak imbas anda atau gunakan penyemak imbas yang berbeza. Sekiranya masalah berterusan, ia mungkin disebabkan oleh konflik dengan plugin lain atau masalah dengan fail .htaccess anda. URL ke laman web luaran, anda boleh menggunakan proses yang sama seperti membuat pengalihan biasa. Cukup masukkan URL halaman WordPress anda dalam medan 'Sumber URL' dan URL laman web luaran dalam bidang 'Sasaran URL'. Ya, anda boleh membatalkan pengalihan di WordPress dengan memadam peraturan redirect dari plugin redirect anda atau fail .htaccess. Walau bagaimanapun, perlu diingat bahawa ini akan menyebabkan URL asal dapat diakses semula, yang boleh membawa kepada isu kandungan pendua jika kandungan yang sama tersedia di URL baru.
Berapa banyak pengalihan yang boleh saya buat di WordPress?
Tidak ada had untuk bilangan pengalihan yang anda boleh buat di WordPress. Walau bagaimanapun, mempunyai terlalu banyak pengalihan boleh melambatkan laman web anda dan memberi kesan negatif kepada SEO anda. Oleh itu, disarankan untuk menggunakan pengalihan dengan berhati -hati dan hanya apabila perlu.
Satu direktori kepada yang lain. Ini berguna apabila anda menggerakkan bahagian keseluruhan laman web anda. Di WordPress, anda boleh membuat redirect wildcard dengan menambahkan asterisk (*) pada akhir URL sumber dan URL sasaran dalam peraturan redirect anda. Atas ialah kandungan terperinci Mengalihkan URL lama di WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!