Apache htaccess规则转换为Nginx规则
我需要为nginx服务器翻译一些htaccess规则 我的访问权限是:Apache htaccess规则转换为Nginx规则,apache,.htaccess,mod-rewrite,nginx,Apache,.htaccess,Mod Rewrite,Nginx,我需要为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_g
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>
看起来像
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的第二部分(如上所示)
我怎么翻译呢
可以吗`
不,很难看。Nginx不是apache,您不应该在不需要重写的地方使用重写(在大约95%的情况下,您不需要在Nginx中重写)
正确:
try_files $uri $uri/ /bitfungus/index.php$uri;
好的,thx,其余的呢..mod_gzip和mod_expires(来自apache)?阅读文档并编写自己的规则:和
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;
}
try_files $uri $uri/ /bitfungus/index.php$uri;