将HTACCESS mod_rewrite指令转换为nginx格式?

时间:2016-08-07 19:26:29

标签: .htaccess nginx

我是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>

1 个答案:

答案 0 :(得分:0)

这是你的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;
}
}