将Apache的规则转换为nginx

我有这个相当大的htaccess,我写了,但转换为Nginx对我来说是没有运气,我试过这个网站转换,但我重新加载nginx时有错误,

重新加载nginxconfiguration:nginx:[emerg]指令“rewrite”不是以“;”结尾的; 在/ etc / nginx / sites-enabled / mywebsite:22

这是我的完整htaccess:

RewriteEngine On RewriteCond %{HTTP_HOST} ^www.mywebsite.org$ [NC] RewriteRule ^(.*)$ http://mywebsite.org/$1 [R=301,L] RewriteBase / RewriteRule ^lang/(.*?)$ index.php?lang=$1 RewriteRule ^([az]{2})/?$ index.php?lang=$1 RewriteRule ^message/(.*?)$ index.php?msg=$1 RewriteRule ^add(/(.*?))?$ index.php?mode=add&msg=$2 RewriteRule ^world/?$ index.php?mode=map RewriteRule ^advanced(/(.*?))?$ search.php?mode=advanced&msg=$2 RewriteRule ^addrecord/? record.php RewriteRule ^updaterecord/?$ record.php?mode=edit RewriteRule ^contributerecord/?$ record.php?mode=edit&contribution=1 RewriteRule ^search/([^/]*)/?([^/]*)/?([0-9]{2,3})/? search.php?q=$1&page=$2&limit=$3 RewriteRule ^search/([^/]*)/?([^/]*)/includes/?([^/]*)/?([^/]*)/?$ search.php?q=$1&page=$2&filter=files&includes=$3&limit=$4 RewriteRule ^search/([^/]*)/?([^/]*)/range/?([^/]*)/?([^/]*)/?([^/]*)/?$ search.php?q=$1&page=$2&filter=range&start=$3&end=$4&limit=$5 RewriteRule ^search/([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?$ search.php?q=$1&page=$2&filter=$3&order=$4&limit=$5 RewriteRule ^avsearch/(.*?)/(.*?)/?$ search.php?mode=results&q=$1&categories=$2 RewriteRule ^location/(.*?)(/(.*?))?$ view.php?id=$1&msg=$3 RewriteRule ^lock/(.*?)$ record.php?mode=lock&id=$1 RewriteRule ^unlock/(.*?)$ record.php?mode=unlock&id=$1 RewriteRule ^edit/(.*?)$ record.php?mode=edit&id=$1 RewriteRule ^contribute/(.*?)$ record.php?mode=edit&id=$1&contribution=1 RewriteRule ^delete/(.*?)$ record.php?mode=delete&id=$1 RewriteRule ^user/(.*?)(/(.*?))?$ profile.php?mode=view&id=$1&page=$3 RewriteRule ^whoami/?$ ucp.php?mode=whoami RewriteRule ^resend/?$ profile.php?mode=resend RewriteRule ^request/?$ profile.php?mode=request RewriteRule ^thread/(.*?)$ ucp.php?mode=thread&id=$1 RewriteRule ^ucp/front(/(.*?))$ ucp.php?mode=front&msg=$2 RewriteRule ^ucp/security(/(.*?))?$ ucp.php?mode=security&msg=$2 RewriteRule ^ucp(/(.*?))?(/(.*?))?$ ucp.php?mode=$2&page=$4 RewriteRule ^updateprofile/?$ profile.php?mode=update RewriteRule ^updatepassword/?$ profile.php?mode=password RewriteRule ^emailchange/?$ profile.php?mode=email RewriteRule ^logout/?$ profile.php?mode=logout RewriteRule ^login/?$ profile.php?mode=login RewriteRule ^register/?$ profile.php?mode=register RewriteRule ^forgotuser/?$ profile.php?mode=forgotuser RewriteRule ^forgotpass/?$ profile.php?mode=forgotpass RewriteRule ^rmvnotification/?$ profile.php?mode=rmvnote RewriteRule ^updatesubrecord/?$ record.php?mode=pre&rl=1 RewriteRule ^addprerecord/?$ record.php?mode=pre RewriteRule ^quickregister/?$ profile.php?mode=showregister RewriteRule ^inlineregister/?$ profile.php?mode=register&return=1 RewriteRule ^activate/(.*?)/?$ profile.php?mode=activate&key=$1 RewriteRule ^reactivate/(.*?)/?(/(.*?))?$ profile.php?mode=reactivate&key=$1&msg=$3 RewriteRule ^resendpass/?$ profile.php?mode=resendpass RewriteRule ^rss/?$ page.php?mode=rss RewriteRule ^api/?$ page.php?mode=api RewriteRule ^help/?$ page.php?mode=help RewriteRule ^faq/?$ page.php?mode=faq RewriteRule ^like/?$ profile.php?mode=like RewriteRule ^unlike/?$ profile.php?mode=unlike RewriteRule ^approve/?$ record.php?mode=approve RewriteRule ^disapprove/?$ record.php?mode=disapprove RewriteRule ^files/(.*?)(/(.*?))?$ record.php?mode=file&fid=$1&preview=$3 RewriteRule ^send(/(.*?))?$ profile.php?mode=message&msg=$2 RewriteRule ^sendmessage/?$ profile.php?mode=sendmessage RewriteRule ^report/?$ record.php?mode=report ErrorDocument 404 /404.html ErrorDocument 403 /403.html ErrorDocument 500 /500.html RewriteRule ^sitemap.xml$ sitemap.php RewriteRule ^privupload/?$ acp/config.php?mode=upload RewriteRule ^3rdparty/?$ api/3rdparty.php # Custom pages RewriteRule ^legal/?$ page.php?mode=legal RewriteRule ^help/?$ page.php?mode=help RewriteRule ^about/?$ page.php?mode=about RewriteRule ^faq/?$ page.php?mode=faq RewriteRule ^documentation/?$ page.php?mode=documentation 

这是使用在线工具转换时的尝试:

 server { server_name mywebsite.com mywebsite.org mywebsite.info mywebsite.mobi mywebsite.net; root /var/www/mywebsite.org/www; index index.php index.htm index.html; access_log off; error_log /var/www/mywebsite.org/logs/errors.log; if ($http_host ~* "^www.mywebsite.org$"){ set $rule_0 1$rule_0; } if ($rule_0 = "1"){ rewrite ^/(.*)$ http://mywebsite.org/$1 permanent; } rewrite ^/lang/(.*?)$ /index.php?lang=$1; rewrite ^/([az]{2})/?$ /index.php?lang=$1; # THIS IS LINE 22 rewrite ^/message/(.*?)$ /index.php?msg=$1; rewrite ^/add(/(.*?))?$ /index.php?mode=add&msg=$2; rewrite ^/world/?$ /index.php?mode=map; rewrite ^/advanced(/(.*?))?$ /search.php?mode=advanced&msg=$2; rewrite ^/addrecord/? /record.php; rewrite ^/updaterecord/?$ /record.php?mode=edit; rewrite ^/contributerecord/?$ /record.php?mode=edit&contribution=1; rewrite ^/search/([^/]*)/?([^/]*)/?([0-9]{2,3})/? /search.php?q=$1&page=$2&limit=$3; rewrite ^/search/([^/]*)/?([^/]*)/includes/?([^/]*)/?([^/]*)/?$ /search.php?q=$1&page=$2&filter=files&includes=$3&limit=$4; rewrite ^/search/([^/]*)/?([^/]*)/range/?([^/]*)/?([^/]*)/?([^/]*)/?$ /search.php?q=$1&page=$2&filter=range&start=$3&end=$4&limit=$5; rewrite ^/search/([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?$ /search.php?q=$1&page=$2&filter=$3&order=$4&limit=$5; rewrite ^/avsearch/(.*?)/(.*?)/?$ /search.php?mode=results&q=$1&categories=$2; rewrite ^/location/(.*?)(/(.*?))?$ /view.php?id=$1&msg=$3; rewrite ^/lock/(.*?)$ /record.php?mode=lock&id=$1; rewrite ^/unlock/(.*?)$ /record.php?mode=unlock&id=$1; rewrite ^/edit/(.*?)$ /record.php?mode=edit&id=$1; rewrite ^/contribute/(.*?)$ /record.php?mode=edit&id=$1&contribution=1; rewrite ^/delete/(.*?)$ /record.php?mode=delete&id=$1; rewrite ^/user/(.*?)(/(.*?))?$ /profile.php?mode=view&id=$1&page=$3; rewrite ^/whoami/?$ /ucp.php?mode=whoami; rewrite ^/resend/?$ /profile.php?mode=resend; rewrite ^/request/?$ /profile.php?mode=request; rewrite ^/thread/(.*?)$ /ucp.php?mode=thread&id=$1; rewrite ^/ucp/front(/(.*?))$ /ucp.php?mode=front&msg=$2; rewrite ^/ucp/security(/(.*?))?$ /ucp.php?mode=security&msg=$2; rewrite ^/ucp(/(.*?))?(/(.*?))?$ /ucp.php?mode=$2&page=$4; rewrite ^/updateprofile/?$ /profile.php?mode=update; rewrite ^/updatepassword/?$ /profile.php?mode=password; rewrite ^/emailchange/?$ /profile.php?mode=email; rewrite ^/logout/?$ /profile.php?mode=logout; rewrite ^/login/?$ /profile.php?mode=login; rewrite ^/register/?$ /profile.php?mode=register; rewrite ^/forgotuser/?$ /profile.php?mode=forgotuser; rewrite ^/forgotpass/?$ /profile.php?mode=forgotpass; rewrite ^/rmvnotification/?$ /profile.php?mode=rmvnote; rewrite ^/updatesubrecord/?$ /record.php?mode=pre&rl=1; rewrite ^/addprerecord/?$ /record.php?mode=pre; rewrite ^/quickregister/?$ /profile.php?mode=showregister; rewrite ^/inlineregister/?$ /profile.php?mode=register&return=1; rewrite ^/activate/(.*?)/?$ /profile.php?mode=activate&key=$1; rewrite ^/reactivate/(.*?)/?(/(.*?))?$ /profile.php?mode=reactivate&key=$1&msg=$3; rewrite ^/resendpass/?$ /profile.php?mode=resendpass; rewrite ^/rss/?$ /page.php?mode=rss; rewrite ^/api/?$ /page.php?mode=api; rewrite ^/help/?$ /page.php?mode=help; rewrite ^/faq/?$ /page.php?mode=faq; rewrite ^/like/?$ /profile.php?mode=like; rewrite ^/unlike/?$ /profile.php?mode=unlike; rewrite ^/approve/?$ /record.php?mode=approve; rewrite ^/disapprove/?$ /record.php?mode=disapprove; rewrite ^/files/(.*?)(/(.*?))?$ /record.php?mode=file&fid=$1&preview=$3; rewrite ^/send(/(.*?))?$ /profile.php?mode=message&msg=$2; rewrite ^/sendmessage/?$ /profile.php?mode=sendmessage; rewrite ^/report/?$ /record.php?mode=report; rewrite ^/sitemap.xml$ /sitemap.php; rewrite ^/privupload/?$ /acp/config.php?mode=upload; rewrite ^/3rdparty/?$ /api/3rdparty.php; rewrite ^/legal/?$ /page.php?mode=legal; rewrite ^/help/?$ /page.php?mode=help; rewrite ^/about/?$ /page.php?mode=about; rewrite ^/faq/?$ /page.php?mode=faq; rewrite ^/documentation/?$ /page.php?mode=documentation; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/mywebsite.org/www$fastcgi_script_name; include fastcgi_params; } } 

什么似乎是这个问题?

也许这个转换器也会有所帮助。