Помогу с реврайтами nginx

Сабж, пишем сюда...

Под Vivvo 3.5 можете сделать?

htaccess выглядит так:
RewriteRule ^category/([0-9]+).html/?$ index.php?category=$1 [L]
RewriteRule ^news/([0-9]+).html/?$ index.php?news=$1 [L]
RewriteRule ^all/?(.*)$ index.php?view_all&$1 [L]
RewriteRule ^print/([0-9]+).html/?$ index.php?news=$1&mode=print [L]
RewriteRule ^comments/([0-9]+).html/?$ index.php?comments=$1 [L]
RewriteRule ^author/([^<]+).html/?$ index.php?author=$1 [L]
RewriteRule ^sitemap.xml$ plugins/sitemap/index.php [L]
RewriteRule ^files/(.*)$ files.php?file=$1 [L]
RewriteRule ^feed/?$ index.php?feed=$1 [L]


RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/?$ index.php?category_name=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^<]+)/([^<]+).html/?$ index.php?news=$2 [L]

:)
 
Под Vivvo 3.5 можете сделать?

htaccess выглядит так:


:)

RewriteRule ^category/([0-9]+).html/?$ index.php?category=$1 [L]
RewriteRule ^news/([0-9]+).html/?$ index.php?news=$1 [L]
RewriteRule ^all/?(.*)$ index.php?view_all&$1 [L]
RewriteRule ^print/([0-9]+).html/?$ index.php?news=$1&mode=print [L]
RewriteRule ^comments/([0-9]+).html/?$ index.php?comments=$1 [L]
RewriteRule ^author/([^<]+).html/?$ index.php?author=$1 [L]
RewriteRule ^sitemap.xml$ plugins/sitemap/index.php [L]
RewriteRule ^files/(.*)$ files.php?file=$1 [L]
RewriteRule ^feed/?$ index.php?feed=$1 [L]


--> что это? RewriteCond %{REQUEST_FILENAME} !-d
--> что это? RewriteRule ^([^.]+)/?$ index.php?category_name=$1 [L]
--> что это? RewriteCond %{REQUEST_FILENAME} !-f
--> что это? RewriteRule ^([^<]+)/([^<]+).html/?$ index.php?news=$2 [L]
--> это неправильно.


server {
listen 80;
server_name domain.tld;
root /home/domain/www.domain.tld/www;
access_log /home/domain/www.domain.tld/logs/access.log nginx;
error_log /home/domain/www.domain.tld/logs/error.log debug;


location / {
index index.php index.html index.htm;
autoindex off;

if (!-e $request_filename) {
rewrite ^/category/([0-9]+).html$ /index.php?category=$1 last;
...
rewrite ^feed/?$ /index.php?feed=$1 last;
break;
}


}

location /import/tmp/ {
autoindex on;
}

location ~* ^.+\.(swf|gif|jpg|jpeg|png|js|css|xsl|txt|doc|rtf|pdf|rar|zip|gz|tgz|xls)$ {expires 1d;}
location ~* ^.+\.(php|php3|php5|phtml|ico)$ {fastcgi_pass unix:/var/run/php-domain.tld.sock;}
}
 
Помогите плиз

Сабж, пишем сюда...

На сайте используются правила rewtire которые описаны в htaccess.
Я сайт перенес на сервер где не apache а nginx+fastcgi
В итоге теперь нужно как-то переписать правила с htaccess в конфиг nginx.
Но я в этом не шарю. Первый раз сталкиваюсь с nginx.
Помогите плиз.

htaccess Для Joomla 1.0.15:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteRule ^(content/|component/) index.php
 
Со статическими страницами понятно как сделать.

А вот это что и для чего:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]
RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]
Особенно это RewriteCond интересует что и для чего.

Если это не прописать в nginx'e, то сайт все равно будет полнофункционально работать? Движок DLE.
 
Интересует как сделать конфиг так, чтобы адреса вида index.php/member/login/ работали и чтобы убрать из этого адреса index.php
 
Помогите если сможете. Нужно редиректить любой садомен *.example.org на Для просмотра ссылки Войди или Зарегистрируйся но с исключением для Для просмотра ссылки Войди или Зарегистрируйся (чтобы не было loop)

Код:
server {
         listen  80;
         server_name .example.org;
         rewrite ^ http://www.example.org$request_uri? permanent;
}
server {
        listen 80;
        server_name www.example.org;
        
        ну а дальше все что надо
}
 
location ~* ^.+\.(swf|gif|jpg|jpeg|png|js|css|xsl|txt|doc|rtf| pdf|rar|zip|gz|tgz|xls)$ {expires 1d;}

Тут в скобках наверно следует добавить root

location ~* ^.+\.(php|php3|php5|phtml|ico)$ {fastcgi_pass unix:/var/run/php-domain.tld.sock;}

Здесь не хватает include /usr/local/nginx/conf/phpcgi.conf;

Еще если есть загрузка на сайт файлов то для папки файлов следует запретить исполнение php скриптов.
 
Назад
Сверху