需要htaccess尝试nginx但缺少一些东西

时间:2019-03-29 11:39:36

标签: .htaccess nginx

我有一个使用htaccess的脚本,但是当我安装它时,nginx服务器不起作用。我已经从在线网站将htaccess转换为nginx,但是没有用。有人可以帮我convert依吗?

htaccess代码在这里:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

ErrorDocument 404 http://website.com/404.php          
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=302,NE,L]

RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*)index\.php$ /$1 [L,R=302,NC,NE]

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteRule ^status/([\w-]+)/?$ status.php?msgID=$1 [L,QSA]
RewriteRule ^hashtag/([^/]+)/?$ hashtags.php?tag=$1 [L,QSA]
RewriteRule ^settings/([\w-]+)/?$ settings.php?set=$1 [L,QSA]
RewriteRule ^credit/([\w-]+)/?$ buyCredit.php?cr=$1 [L,QSA]
RewriteRule ^account/([\w-]+)/?$ sources/index.php?get=$1 [L,QSA]
RewriteRule ^dashboard/([\w-]+)/?$ admin/index.php?set=$1 [L,QSA]
RewriteRule ^profile/([^/]+)/?$ profile.php?username=$1 [L,QSA,NC]  
RewriteRule ^profile/(followers|friends|saved|stories)/([^/]+)/?$ $1.php?username=$2 [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L] 

<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin '*'
</IfModule>

这是转换后的nginx代码:

# nginx configuration 

error_page 404 http://website.com/404.php; 

location / {
   if ($request_method !~ "POST"){ 
      rewrite ^(.*)$ /%1 redirect; 
   } 
   if ($request_method !~ "POST"){ 
      rewrite ^/(.*)index\.php$ /$1 redirect; 
   } 
   if (-e $request_filename){ 
      rewrite ^/status/([\w-]+)/?$ /status.php?msgID=$1 break; 
   } 
      rewrite ^/(.+?)/?$ /$1.php break; 
   } 
location /hashtag { 
   rewrite ^/hashtag/([^/]+)/?$ /hashtags.php?tag=$1 break; 
   } 
location /settings { 
   rewrite ^/settings/([\w-]+)/?$ /settings.php?set=$1 break; 
    } 
location /credit { 
   rewrite ^/credit/([\w-]+)/?$ /buyCredit.php?cr=$1 break; 
} 
location /account { 
   rewrite ^/account/([\w-]+)/?$ /sources/index.php?get=$1 break; 
} 
location /dashboard { 
   rewrite ^/dashboard/([\w-]+)/?$ /admin/index.php?set=$1 break; 
} 
location /profile { 
   rewrite ^/profile/([^/]+)/?$ /profile.php?username=$1 break; 
   rewrite ^/profile/(followers|friends|saved|stories)/([^/]+)/?$ /$1.php?username=$2 break; 
}

0 个答案:

没有答案