Kami sudah memiliki banyak pelanggan yang menggunakan Nginx di VPS. Salah satu masalah paling umum yang dihadapi oleh pelanggan yang baru saja mentransfer dari Apache adalah cara menulis ulang di bawah Nginx dan cara mengubah .htaccess di Apache menjadi Nginx. Informasinya banyak sekali, antara lain rewrite di wordpress, discuz, phpcms, ecshop, shopex, dll, tinggal copy saja. Masalah umum lainnya bagi pemula Nginx adalah mereka tidak tahu cara mengubah aturan penulisan ulang setelah mendapatkannya. Misalnya, penulisan ulang subdirektori di bawah Nginx harus diubah menjadi apa? / apakah wordpress, /bbs untuk discuz, / apakah discuz, /blog untuk wordpress, atau / untuk wordpress, dan /blog untuk wordpress, dll. Bagaimana cara mengubah penulisan ulang ini? Mari kita berikan beberapa contoh di FAQ kami untuk referensi:
WordPress diinstal di subdirektori /blog:
lokasi /blog/ {
root /home/www/vpsee.com;
indeks indeks.php indeks.html indeks.htm;
jika (!-e $permintaan_namafile) {
tulis ulang ^.+/?(/blog/wp-.*) $1 terakhir;
tulis ulang ^.+/?(/blog/.*.php)$ $1 terakhir;
tulis ulang ^(.+)$ /blog/index.php?q=$1 terakhir;
}
}
Discuz! 7.2 diinstal di subdirektori /bbs:
lokasi /bbs/ {
root /home/www/vpsee.com;
indeks indeks.php indeks.html indeks.htm;
tulis ulang ^/bbs/archiver/((fid|tid)-[w-]+.html)$ /bbs/archiver/index.php?$1 terakhir;
tulis ulang ^/bbs/forum-([0-9]+)-([0-9]+).html$ /bbs/forumdisplay.php?fid=$1&page=$2 terakhir;
tulis ulang ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ /bbs/viewthread.php?tid=$1&extra=page %3D$3&halaman=$2 terakhir;
tulis ulang ^/bbs/space-(nama pengguna|uid)-(.+).html$ /bbs/space.php?$1=$2 terakhir;
tulis ulang ^/bbs/tag-(.+).html$ /bbs/tag.php?name=$1 terakhir;
}
Discuz! X1.5 diinstal di subdirektori /bbs:
lokasi /bbs/ {
root /home/www/vpsee.com;
indeks indeks.php indeks.html indeks.htm;
tulis ulang ^([^.]*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 terakhir;
tulis ulang ^([^.]*)/article-([0-9]+)-([0-9]+).html$ $1/portal.php?mod=view&aid=$2&page=$3 terakhir;
tulis ulang ^([^.]*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 terakhir;
tulis ulang ^([^.]*)/thread-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D $4&halaman=$3 terakhir;
tulis ulang ^([^.]*)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 terakhir;
tulis ulang ^([^.]*)/space-(nama pengguna|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 terakhir;
tulis ulang ^([^.]*)/([az]+)-(.+).html$ $1/$2.php?rewrite=$3 terakhir;
jika (!-e $permintaan_namafile) {
kembali 404;
}
}
Jika Anda kesulitan memahami ekspresi reguler seperti ^([^.]*)/([az]+)-(.+).html$ dan tertarik dengan aspek ini, Anda dapat membaca beberapa buku, sebaiknya Buku terbaik seharusnya Menguasai Ekspresi Reguler oleh O'Reilly (juga tersedia dalam versi bahasa Mandarin: "Menguasai Ekspresi Reguler").
Sumber artikel: www.vpsee.com
【Artikel terkait】
Nginx biasanya menggunakan aturan pseudo-statis yang mengumpulkan Discuz dan aturan pseudo-statis lainnya