.htaccess 是否将HTACCESS mod_rewrite指令转换为nginx格式?

.htaccess 是否将HTACCESS mod_rewrite指令转换为nginx格式?,.htaccess,nginx,.htaccess,Nginx,我是nginx的新手,我正在尝试转换我从Apache编写的应用程序,因为我需要能够同时为许多客户端提供服务,而不需要太多开销 我已经掌握了设置nginx和FPM/FastCGI-PHP的诀窍,但我还不能完全理解nginx的重写格式。我知道您必须编写一些简单的脚本,放在nginx配置的server{}块中,但我还不熟悉语法 有Apache和nginx经验的人能帮我将其转换为nginx格式吗?提前谢谢 <IfModule mod_rewrite.c> RewriteEngine

我是nginx的新手,我正在尝试转换我从Apache编写的应用程序,因为我需要能够同时为许多客户端提供服务,而不需要太多开销

我已经掌握了设置nginx和FPM/FastCGI-PHP的诀窍,但我还不能完全理解nginx的重写格式。我知道您必须编写一些简单的脚本,放在nginx配置的server{}块中,但我还不熟悉语法

有Apache和nginx经验的人能帮我将其转换为nginx格式吗?提前谢谢

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^school\.dev$ [NC]
    RewriteRule ^(.*)$ http://www.school.dev/$1 [R=301,L]
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [NE,L]
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>

重新启动发动机
RewriteCond%{HTTP_HOST}^school\.dev$[NC]
重写规则^(.*)$http://www.school.dev/$1[R=301,L]
重写基/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php?%{QUERY_STRING}[NE,L]
重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION},L]

这是用于htaccess的nginx转换

# nginx configuration
location / {
if ($http_host ~* "^school\.dev$"){
rewrite ^(.*)$ http://www.school.dev/$1 redirect;
}
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?$query_string break;
}
}

这是您的htaccess的nginx转换

# nginx configuration
location / {
if ($http_host ~* "^school\.dev$"){
rewrite ^(.*)$ http://www.school.dev/$1 redirect;
}
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?$query_string break;
}
}