Bagaimana untuk menulis subdirektori nginx 301 redirect
ringa_lee
ringa_lee 2017-06-06 09:54:36
0
2
961

Saya baru-baru ini menghadapi masalah sebegitu mengenai laman web.
Halaman alamat PC adalah serupa dengan www.abc.com/pc/123/index.html
Alamat M-end yang sepadan ialah m.abc.com/sj/123/index.html
123 Direktori ini tidak tetap dan mempunyai nama lain. Kedua-dua pc dan sj adalah tetap, jadi terdapat surat-menyurat lain seperti:
PC www.abc.com/pc/222/index.html
M m.abc.com/sj/222/index.html

Anda perlu membuat pertimbangan dan melompat dalam nginx di sini Kaedah penulisan asal saya ialah:

location /pc/ {
    if ($http_user_agent ~* "((Android)|(blackberry)|(googlebot-mobile)|(iemobile)|(ipad)|(iphone)|(opera mobile)|(palmos)|(webos)|(UCBrowser)|(wap)|(Opera Mobi))"){
                    return 301 http://m.abc.com/sj$request_uri;
}

Jelas sekali tulisan di atas akan menjadi lompatan yang sepadan dengan:
PC www.abc.com/pc/222/index.html
M m.abc.com/sj/pc/222/index.html
Ini bukan Apa yang saya mahu. Bagaimana untuk mengalih keluar direktori pc dari $request_uri?
Mintalah kepada Tuhan. Bagaimana hendak menulis semula?

ringa_lee
ringa_lee

ringa_lee

membalas semua(2)
漂亮男人
location ~ /pc/(.*) {
    if ($http_user_agent ~* "((Android)|(blackberry)|(googlebot-mobile)|(iemobile)|(ipad)|(iphone)|(opera mobile)|(palmos)|(webos)|(UCBrowser)|(wap)|(Opera Mobi))"){
                    return 301 http://m.abc.com/sj/;
}
不知道这样行不行
漂亮男人
location ~ ^/pc/(.*) {
    if ($http_user_agent ~* "((Android)|(blackberry)|(googlebot-mobile)|(iemobile)|(ipad)|(iphone)|(opera mobile)|(palmos)|(webos)|(UCBrowser)|(wap)|(Opera Mobi))") {
        return 301 http://m.abc.com/sj/;
    }
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!