1

私はインターネットプログラミングの初心者です。Apache を Nginx Web サーバーに切り替えたいのですが、まだ Nginx モードの書き換えに問題があります。

私のウェブサイトの場所/home/user/public_html/read/と以前の.htaccessファイルは/home/user/public_html/read/.htaccess次のようになります。

Options +FollowSymlinks

RewriteEngine on

RewriteRule ^mangas/([^/]+)/([^/]+)/$ - [F,L] 
RewriteRule ^mangas/([^/]+)/$ - [F,L] 
RewriteRule ^mangas(/?)$ - [F,L]

RewriteRule ^([^/.]+)/([^/.]+)/([0-9]+)(/?)$ index.php?manga=$1&chapter=$2&page=$3 [L] 
RewriteRule ^([^/.]+)/([^/.]+)(/?)$ index.php?manga=$1&chapter=$2 [L] 
RewriteRule ^([^/.]+)(/?)$ index.php?manga=$1 [L]

この mod_rewrite を nginx に変換するにはどうすればよいですか? (私の英語のスペルは完璧ではないので、申し訳ありません)

4

2 に答える 2

1

あなたのでこれらを試してくださいserver{}

location ~ ^/mangas/([^/]+)/([^/]+)/$ {
   return 403; 
} 
location ~ ^/mangas/([^/]+)/$ { 
   return 403; 
} 
location ~ ^/mangas(/?)$ { 
   return 403; 
}

location / { 
   rewrite ^/([^/.]+)/([^/.]+)/([0-9]+)(/?)$ /index.php?manga=$1&chapter=$2&page=$3 break; 
   rewrite ^/([^/.]+)/([^/.]+)(/?)$ /index.php?manga=$1&chapter=$2 break; 
   rewrite ^/([^/.]+)(/?)$ /index.php?manga=$1 break; 
}
于 2012-07-20T04:05:12.903 に答える
0

O certo seria:

location ~ ^/mangas/([^/]+)/([^/]+)/$ {
   return 403;
}

location ~ ^/mangas/([^/]+)/$ {
   return 403;
}
location ~ ^/mangas(/?)$ {
   return 403;
}
location / {
   rewrite ^/([^/.]+)/([^/.]+)/([0-9]+)(/?)$ /index.php?manga=$1&chapter=$2&page=$3 last;
   rewrite ^/([^/.]+)/([^/.]+)(/?)$ /index.php?manga=$1&chapter=$2 last;
   rewrite ^/([^/.]+)(/?)$ /index.php?manga=$1 last;
}

Não sei porquê, mas, alterando de break para last funciona.

于 2013-02-08T15:25:02.047 に答える