apache - 将 Apache .htaccess 转换为 Nginx

标签 apache .htaccess nginx url-rewriting

我得到了以下 Magento 插件的 .htaccess 代码,有人可以帮我将其转换为有效的 Nginx 重写吗?我真的很难把这件事记下来。它用于重写和缓存 Magento URL 的插件。

该模块的原始编辑器无法帮助我。我确信有很多人使用 Nginx 并希望使用这个插件功能!

# static rewrite - home page
RewriteCond %{HTTP_COOKIE} store=default
RewriteCond %{HTTP_COOKIE} !artio_mturbo=.*
RewriteCond %{REQUEST_URI} ^/magento/$
RewriteCond %{QUERY_STRING} !.+
RewriteCond /var/ww/var/turbocache/default.html -f
RewriteRule .* var/turbocache/default.html [L]

# static rewrite - other pages
RewriteCond %{HTTP_COOKIE} store=default
RewriteCond %{HTTP_COOKIE} !artio_mturbo=.*
RewriteCond %{REQUEST_URI} /magento/(.*)\.html$ [NC]
RewriteCond %{QUERY_STRING} !.+
RewriteCond /var/www/var/turbocache/magento/default/%1.html -f
RewriteRule .* var/turbocache/magento/default/%1.html [L]

# store view is choosen by request_path

# static rewrite - home page

RewriteCond %{HTTP_COOKIE} !artio_mturbo=.*
RewriteCond %{REQUEST_URI} ^/magento/default(/|)$
RewriteCond %{QUERY_STRING} !.+
RewriteCond /var/www/var/turbocache/default.html -f
RewriteRule .* var/turbocache/default.html [L]

# static rewrite - other pages
RewriteCond %{HTTP_COOKIE} !artio_mturbo=.*
RewriteCond %{REQUEST_URI} ^/magento/default/(.*)\.html$ [NC]
RewriteCond %{QUERY_STRING} !.+
RewriteCond /var/www/var/turbocache/magento/default/%1.html -f
RewriteRule .* var/turbocache/magento/default/%1.html [L]

#cookie
RewriteCond %{HTTP_COOKIE} !artio_mturbo=.*
RewriteCond %{REQUEST_URI} ^/magento/$
RewriteCond %{QUERY_STRING} !.+
RewriteCond /var/www/var/turbocache/default.html -f
RewriteRule .* var/turbocache/default.html [L]

# rules for default storeview

# static rewrite - home page

RewriteCond %{HTTP_COOKIE} !artio_mturbo=.*
RewriteCond %{REQUEST_URI} /magento/(.*)\.html$ [NC]
RewriteCond %{QUERY_STRING} !.+
RewriteCond /var/www/var/turbocache/magento/default/%1.html -f
RewriteRule .* var/turbocache/magento/default/%1.html [L]

到目前为止谢谢!

最佳答案

if ($http_cookie ~ "store=default"){
    set $rule_0 1$rule_0;
}
if ($http_cookie !~ "artio_mturbo=.*"){
    set $rule_0 2$rule_0;
}
if ($uri ~ "^/magento/$"){
    set $rule_0 3$rule_0;
}
if ($args !~ ".+"){
    set $rule_0 4$rule_0;
}
if (-f /var/ww/var/turbocache/default.html){
    set $rule_0 5$rule_0;
}
if ($rule_0 = "54321"){
    rewrite /.* /var/turbocache/default.html last;
}
if ($http_cookie ~ "store=default"){
    set $rule_1 1$rule_1;
}
if ($http_cookie !~ "artio_mturbo=.*"){
    set $rule_1 2$rule_1;
}
if ($uri ~* "/magento/(.*).html$"){
    set $rule_1 3$rule_1;
}
if ($args !~ ".+"){
    set $rule_1 4$rule_1;
}
if (-f /var/www/var/turbocache/magento/default/%1.html){
    set $rule_1 5$rule_1;
    set $bref_1 $1;
}
if ($rule_1 = "54321"){
    rewrite /.* /var/turbocache/magento/default/$bref_1.html last;
}
if ($http_cookie !~ "artio_mturbo=.*"){
    set $rule_2 1$rule_2;
}
if ($uri ~ "^/magento/default(/|)$"){
    set $rule_2 2$rule_2;
}
if ($args !~ ".+"){
    set $rule_2 3$rule_2;
}
if (-f /var/www/var/turbocache/default.html){
    set $rule_2 4$rule_2;
}
if ($rule_2 = "4321"){
    rewrite /.* /var/turbocache/default.html last;
}
if ($http_cookie !~ "artio_mturbo=.*"){
    set $rule_3 1$rule_3;
}
if ($uri ~* "^/magento/default/(.*).html$"){
    set $rule_3 2$rule_3;
}
if ($args !~ ".+"){
    set $rule_3 3$rule_3;
}
if (-f /var/www/var/turbocache/magento/default/%1.html){
    set $rule_3 4$rule_3;
    set $bref_1 $1;
}
if ($rule_3 = "4321"){
    rewrite /.* /var/turbocache/magento/default/$bref_1.html last;
}
if ($http_cookie !~ "artio_mturbo=.*"){
    set $rule_4 1$rule_4;
}
if ($uri ~ "^/magento/$"){
    set $rule_4 2$rule_4;
}
if ($args !~ ".+"){
    set $rule_4 3$rule_4;
}
if (-f /var/www/var/turbocache/default.html){
    set $rule_4 4$rule_4;
}
if ($rule_4 = "4321"){
    rewrite /.* /var/turbocache/default.html last;
}
if ($http_cookie !~ "artio_mturbo=.*"){
    set $rule_5 1$rule_5;
}
if ($uri ~* "/magento/(.*).html$"){
    set $rule_5 2$rule_5;
}
if ($args !~ ".+"){
    set $rule_5 3$rule_5;
}
if (-f /var/www/var/turbocache/magento/default/%1.html){
    set $rule_5 4$rule_5;
    set $bref_1 $1;
}
if ($rule_5 = "4321"){
    rewrite /.* /var/turbocache/magento/default/$bref_1.html last;
}

希望能成功,祝你好运。

关于apache - 将 Apache .htaccess 转换为 Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7560463/

相关文章:

apache - 客户端被服务器配置拒绝 :/opt/bitnami/apps/wordpress/htdocs/

php - 在 Ajax : any configuration difference between Nginx and Apache

Node.js Hello world 脚本不起作用

apache - .htaccess 从子域重定向不传递子域部分

css - 目录的默认 css 文件

.htaccess 图片源从http重定向到https

.htaccess 替换单词并重定向

dns - 虚拟主机上的nginx子域配置

tomcat - zookeeper 可以代替 Nginx 或 Apache Server 用作负载均衡器吗?

php - 找到执行 cron 的用户名