84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
本規則是基於藍海豚導購程式的rewreite規則。
本人想把如下.htaccess 規則 轉換成 nginx規則,求助...
<IfModule mod_rewrite.c> RewriteEngine On #RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/ [L] </IfModule>
学习是最好的投资!
更精確的提法是:如何把Apache的rewrite規則轉換成nginx的。 ——.htaccess只是手段不必多提,但涉及的模組是rewrite才必須強調,因為如果是別的模組可能nginx會無對應功能。
兩種思路:
上面規則的意思如果URI對應的檔案或資料夾不存在就進行rewrite。 apache的%{REQUEST_FILENAME}在nginx與之對應的是$uri,所以你上面的規則可以用如下的try_files 來設定
try_files $uri $uri/ /index.php/$uri&$args;
try_files的作用是依序檢查檔案是否存在,傳回第一個找到的檔案或資料夾(結尾加斜線表示為資料夾),如果所有的檔案或資料夾都找不到,會進行一個內部重定向到最後一個參數。
$args 表示url中的參數。
if (!-f $request_filename){ set $rule_0 1$rule_0; } if (!-d $request_filename){ set $rule_0 2$rule_0; } if ($rule_0 = "21"){ rewrite ^/(.*)$ /index.php/ last; }
Apache重寫規則轉換為Nginxhttp://www.51ask.org/apache2n...
更精確的提法是:如何把Apache的rewrite規則轉換成nginx的。 ——.htaccess只是手段不必多提,但涉及的模組是rewrite才必須強調,因為如果是別的模組可能nginx會無對應功能。
兩種思路:
上面規則的意思如果URI對應的檔案或資料夾不存在就進行rewrite。 apache的%{REQUEST_FILENAME}在nginx與之對應的是$uri,所以你上面的規則可以用如下的try_files 來設定
try_files的作用是依序檢查檔案是否存在,傳回第一個找到的檔案或資料夾(結尾加斜線表示為資料夾),如果所有的檔案或資料夾都找不到,會進行一個內部重定向到最後一個參數。
$args 表示url中的參數。
Apache重寫規則轉換為Nginx
http://www.51ask.org/apache2n...