1

nginx サーバーで古いバージョンの Magento (1.4) を実行しています。サイトには、永久的な 301 リダイレクトに変換する必要がある一時的なリダイレクト (302) がいくつかあります.1.4 では、管理パネルを使用してこれを行う方法はありません :(

これを行うためのnginx構成ディレクティブを誰かに提供できますか?

ドメインの構成ファイルは次のとおりです。

    rewrite ^/minify/([0-9]+)(/.*.(js|css))$ /lib/minify/m.php?f=$2&d=$1 last;
    rewrite ^/skin/m/([0-9]+)(/.*.(js|css))$ /lib/minify/m.php?f=$2&d=$1 last;

    location / {
       # First attempt to serve request as file, then
       # as directory, then fall back to index.html

       try_files $uri $uri/ @handler; ## If missing pass the URI to Magento's front handler
       expires 30d; ## Assume all files are cachable
    }

    location /app/                { deny all; }
    location /includes/           { deny all; }
    location /lib/                { deny all; }
    location /media/downloadable/ { deny all; }
    location /pkginfo/            { deny all; }
    location /report/config.xml   { deny all; }
    location /var/                { deny all; }

    location /lib/minify/ {
        allow all;
    }

    location /var/export/ { ## Allow admins only to view export folder
        auth_basic           "Restricted"; ## Message shown in login window
        auth_basic_user_file htpasswd; ## See /etc/nginx/htpassword
        autoindex            on;
    }

    location  /. { ## Disable .htaccess and other hidden files
        return 404;
    }

    location @handler { ## Magento uses a common front handler
        rewrite / /index.php;
    }

    location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler
        rewrite ^(.*.php)/ $1 last;
    }

    location ~* ^(.+\.php)(.*) {

        if (!-e $request_filename) { rewrite ^(.*)$ /index.php break;  } 
        ## Catch 404s that try_files miss

            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  HTTPS $fastcgi_https;
            #fastcgi_param  MAGE_RUN_CODE default; ## Store code is defined in administration > Configuration > Manage Stores
            #fastcgi_param  MAGE_RUN_TYPE store;                                                                            
            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/luxuryleathergoods.com/public_html$fastcgi_script_name;
            fastcgi_split_path_info      ^(.+\.php)(.*)$;
            include        fastcgi_params;
        }

    }
4

1 に答える 1

0

リダイレクトごとに、location /ブロック内(最初)のnginx構成に次の行を追加できます。

rewrite /old/url.html /new/url.html
于 2012-11-07T03:34:07.000 に答える