从htaccess转换为重写问题

时间:2015-06-02 21:15:09

标签: .htaccess nginx rewrite

我已经将网站从apache移到了nginx,我在nginx上遇到了一些问题。

htaccess的

RewriteEngine On


RewriteCond %{REQUEST_URI} !\.(js|css|png|jpg|jpeg|bmp|ttf|php|php5|html|htm|gif)$
RewriteRule ^(.+)/(.+[^/])/(.*[^/])/?$ index.php?p=$1&subp=$2&subsubp=$3 [QSA,L]

RewriteCond %{REQUEST_URI} !\.(js|css|png|jpg|jpeg|bmp|ttf|php|php5|html|htm|gif)$
RewriteRule ^(.+)/(.+[^/])/?$ index.php?p=$1&subp=$2 [QSA,L]

RewriteCond %{REQUEST_URI} !\.(js|css|png|jpg|jpeg|bmp|ttf|php|php5|html|htm|gif)$
RewriteRule ^(.*[^/])/?$ index.php?p=$1 [QSA,L]
Options -Indexes

使用转换器到nginx:

location ~ \.(js|css|png|jpg|jpeg|bmp|ttf|php|php5|html|htm|gif)$ {
} 
location ~ \.(js|css|png|jpg|jpeg|bmp|ttf|php|php5|html|htm|gif)$ {
} 
location ~ \.(js|css|png|jpg|jpeg|bmp|ttf|php|php5|html|htm|gif)$ {
} 
autoindex off; 
location / {
rewrite ^/(.+)/(.+[^/])/(.*[^/])/?$ /index.php?p=$1&subp=$2&subsubp=$3 break;
rewrite ^/(.+)/(.+[^/])/?$ /index.php?p=$1&subp=$2 break; 
rewrite ^/(.*[^/])/?$ /index.php?p=$1 break; 
}

我认为,当我们不谈论子域名时,它可以正常工作。

是的 - 我的网站位于名为/ mysub /

的子域中

所以要进入我的网站我使用mysub.domain.com或domain.com/mysub/ (第一个是这个:)

if ($http_host = "mysub.domain.com") {
    rewrite ^(?!/\b(mysub|stats|error)\b)/(.*)$ /mysub/$2 ;
}

问题:

如何将这些规则链接到一个?

0 个答案:

没有答案