将 NGINX 规则转换为 .htaccess
Converting NGINX rule to .htaccess
我正在尝试转换以下 NGINX 规则:
location ~ "^/calendrier/[0-9]{4}" {
rewrite ^/calendrier/(.*)$ /calendar/;
}
到 .htaccess。我试过了:
RewriteCond ^/calendrier/[0-9]{4} [NC]
RewriteRule ^/calendrier/(.*)$ /calendar/ [QSA,L]
但它不起作用。
请帮忙。
谢谢
在尝试从其他平台转换规则之前,您需要查看 mod_rewrite
文档。原因是:您必须 确切地 了解 mod_rewrite
应该如何使用,这样才能轻松进行转换。
您的转换问题在于 RewriteCond
没有根据任何内容检查该模式。本质上,您只是进行了猜测,看看它是否符合您的要求。
您只需将以下内容放入您的 /.htaccess
文件中:
RewriteEngine on
RewriteRule ^calendier/([0-9]{4})/?$ /calendar/ [L]
规则的第一部分使用可选的尾部斜杠检查 calendier/<some_number>
(如果不需要斜杠,可以删除 /?
)。
这是我用来完成工作的重写。
RewriteCond %{REQUEST_URI} ^/calendrier/ [NC]
RewriteRule ^calendrier/(.*)$ /calendar/ [NC,L]
我正在尝试转换以下 NGINX 规则:
location ~ "^/calendrier/[0-9]{4}" {
rewrite ^/calendrier/(.*)$ /calendar/;
}
到 .htaccess。我试过了:
RewriteCond ^/calendrier/[0-9]{4} [NC]
RewriteRule ^/calendrier/(.*)$ /calendar/ [QSA,L]
但它不起作用。
请帮忙。 谢谢
在尝试从其他平台转换规则之前,您需要查看 mod_rewrite
文档。原因是:您必须 确切地 了解 mod_rewrite
应该如何使用,这样才能轻松进行转换。
您的转换问题在于 RewriteCond
没有根据任何内容检查该模式。本质上,您只是进行了猜测,看看它是否符合您的要求。
您只需将以下内容放入您的 /.htaccess
文件中:
RewriteEngine on
RewriteRule ^calendier/([0-9]{4})/?$ /calendar/ [L]
规则的第一部分使用可选的尾部斜杠检查 calendier/<some_number>
(如果不需要斜杠,可以删除 /?
)。
这是我用来完成工作的重写。
RewriteCond %{REQUEST_URI} ^/calendrier/ [NC]
RewriteRule ^calendrier/(.*)$ /calendar/ [NC,L]