将NGINX规则转换为.htaccess

时间:2015-06-23 21:12:46

标签: .htaccess nginx rewrite

我试图转换以下NGINX规则:

location ~ "^/calendrier/[0-9]{4}" {
    rewrite ^/calendrier/(.*)$ /calendar/$1;
}

到.htaccess。我试过了:

RewriteCond ^/calendrier/[0-9]{4} [NC]
RewriteRule ^/calendrier/(.*)$ /calendar/$1 [QSA,L]

但它不起作用。

请帮忙。 感谢

2 个答案:

答案 0 :(得分:0)

在尝试从其他平台转换规则之前,您需要查看mod_rewrite文档。原因是:您必须完全理解 应该如何使用mod_rewrite,以便转换无痛。

转换的问题是RewriteCond没有针对任何事情检查该模式。从本质上讲,你只是做了猜测工作,看看它是否符合你的要求。

您只需将以下内容放在 /.htaccess 文件中:

RewriteEngine on
RewriteRule ^calendier/([0-9]{4})/?$ /calendar/$1 [L]

规则的第一部分使用可选的尾部斜杠检查calendier/<some_number>(如果您不想使用斜杠,则可以删除/?)。

答案 1 :(得分:0)

这是我用来完成工作的重写。

RewriteCond %{REQUEST_URI} ^/calendrier/ [NC]
RewriteRule ^calendrier/(.*)$ /calendar/$1 [NC,L]