2012-11-26 122 views
0

我需要轉換爲nginx的服務器一些htaccess的規則,阿帕奇htacess規則轉換爲Nginx的規則

我的htaccess是:

RewriteEngine On 
RewriteBase /mysite 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /mysite/index.php/$1 [L] 

SetOutputFilter DEFLATE 

<ifModule mod_gzip.c> 
    mod_gzip_on Yes 
    mod_gzip_dechunk Yes 
    mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ 
    mod_gzip_item_include handler ^cgi-script$ 
    mod_gzip_item_include mime ^text/.* 
    mod_gzip_item_include mime ^application/x-javascript.* 
    mod_gzip_item_exclude mime ^image/.* 
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 
</ifModule> 

<ifModule mod_expires.c> 
    ExpiresActive On 
    ExpiresDefault "access plus 1 seconds" 
    ExpiresByType text/html "access plus 1 seconds" 
    ExpiresByType image/gif "access plus 2592000 seconds" 
    ExpiresByType image/jpeg "access plus 2592000 seconds" 
    ExpiresByType image/png "access plus 2592000 seconds" 
    ExpiresByType text/css "access plus 604800 seconds" 
    ExpiresByType text/javascript "access plus 216000 seconds" 
    ExpiresByType application/x-javascript "access plus 216000 seconds" 
</ifModule> 

我已經翻譯這一部分

RewriteEngine On 
RewriteBase /mysite 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /mysite/index.php/$1 [L] 

看起來像

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 ^/(.*)$ /mysite/index.php/$1 last; 
} 

可以嗎?

然後我需要htaccess的的第二部分平移(上面顯示)。

我該如何翻譯?

thx !!

回答

2
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 ^/(.*)$ /bitfungus/index.php/$1 last; 
} 

是它好嗎?`

不,這是醜陋的。 Nginx不是apache,你不應該使用不需要重寫的地方(在95%的情況下你不需要在nginx中重寫)。

http://wiki.nginx.org/Pitfalls

正確:

try_files $uri $uri/ /bitfungus/index.php$uri; 
+0

OK THX,和什麼有關,其餘..mod_gzip和指定mod_expires(Apache的)? – sbaaaang

+1

閱讀文檔並編寫自己的規則:http://nginx.org/en/docs/http/ngx_http_gzip_module.html和http://nginx.org/r/expires – VBart