Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Melaksanakan Penulisan Semula URL dalam PHP Menggunakan `.htaccess` atau Fungsi Terbina Dalam PHP?

Bagaimanakah Saya Boleh Melaksanakan Penulisan Semula URL dalam PHP Menggunakan `.htaccess` atau Fungsi Terbina Dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-12-20 03:33:09974semak imbas

How Can I Implement URL Rewriting in PHP Using `.htaccess` or PHP's Built-in Functions?

Penulisan Semula URL dalam PHP: Mencipta URL Mesra

Pengenalan

Penulisan semula URL ialah teknik yang digunakan untuk mengubah kompleks, URL yang berpotensi panjang menjadi format yang lebih mesra pengguna dan boleh dibaca. Dalam artikel ini, kami akan meneroka cara untuk melaksanakan penulisan semula URL dalam PHP menggunakan dua pendekatan berbeza: laluan .htaccess dan laluan PHP.

Laluan .htaccess dengan mod_rewrite

Kaedah ini melibatkan penambahan fail .htaccess pada direktori akar dan mengkonfigurasi pelayan web Apache untuk digunakan mod_rewrite. Berikut ialah contoh RewriteRule:

RewriteEngine on
RewriteRule ^/?Some-text-goes-here/([0-9]+)$ /picture.php?id=

Peraturan ini mengarahkan pelayan web bahawa mana-mana URL yang sepadan dengan corak "Some-text-goes-here/" hendaklah ditulis semula secara dalaman kepada "picture.php?id=" tanpa dapat dilihat oleh pengguna akhir.

Laluan PHP

Pendekatan alternatif ialah menggunakan PHP untuk mengendalikan penulisan semula URL. Ini melibatkan penyediaan "FallbackResource" dalam .htaccess:

FallbackResource /index.php

Konfigurasi ini memberitahu pelayan untuk mengarahkan semua permintaan ke fail index.php jika fail yang diminta tidak wujud. Dalam index.php, anda boleh melaksanakan logik penghuraian URL anda sendiri:

$path = ltrim($_SERVER['REQUEST_URI'], '/');
$elements = explode('/', $path);
if (empty($elements[0])) {
    ShowHomepage();
} else {
    switch (array_shift($elements)) {
        case 'Some-text-goes-here':
            ShowPicture($elements);
            break;
        case 'more':
            ...
        default:
            header('HTTP/1.1 404 Not Found');
            Show404Error();
    }
}

Teknik ini membolehkan lebih fleksibiliti dalam penghuraian URL dan sokongan untuk URL dipacu pangkalan data dan bersyarat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Penulisan Semula URL dalam PHP Menggunakan `.htaccess` atau Fungsi Terbina Dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn