13

OpenCart 可以在 nginX 上使用 SEO URL 吗?我知道在 Apache 中,它会创建一个 .htaccess,但它是否能够自动管理 nginX 中的 URL 重定向?

4

1 回答 1

21

Nginx 上的 OpenCart - 我们已经使用了一年。最后,似乎其他人开始使用它。获得帮助是一场噩梦,有时进入 Nginx 很棘手。

www.site.com.vhost的如下,例如:

# FORCE WWW
server {
    server_name  site.com;
    rewrite ^(.*) http://www.site.com$1 permanent;
}
# MAIN SERVER
# NINX 0.8.54 - WORKS ON 1.1.19
server {
    server_name  www.site.com;
    listen 80;
    root /var/www/www.site.com/web;
    index index.php index.html;
    location /image/data {
        autoindex on;
    }
    location /admin {
        index index.php;
    }
    location / {
        try_files $uri @opencart;
    }
    location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }
    # Make sure files with the following extensions do not get loaded by nginx because nginx would display the source code, and these files can contain PASSWORDS!
    location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
        deny all;
    }
    # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
    location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
        expires max;
        log_not_found off;
    }
    location ~ \.php$ {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

好的,现在关于管理您的网站。您现在可以通过管理员启用 SEO,查看我标记为 nginx 和 opencart的其他帖子以获取所有 URL,并使用location / {}

我还建议阅读有关删除 index.php?route= - 下面的链接:

从 OpenCart 中删除 index.php?route=common/home

于 2013-03-26T12:45:54.493 回答