Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Запретить всё, кроме определённых локэйшинов. Как?
- To: nginx-ru@xxxxxxxxx
- Subject: Re: Запретить всё, кроме определённых локэйшинов. Как?
- From: Sergey Shepelev <temotor@xxxxxxxxx>
- Date: Tue, 03 Jun 2008 20:19:56 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; bh=DNwzIsYJktfkfg0KOQ+cxHh3jv1hASJF93P8DDvCkd4=; b=sgPACAxmccDvHCQ+dY8kQkr9yByEhaWSdFahW8szwTBgTmPVLYPY3vk07/EiZv9u5YFI7XefTgH25PHMKj0tqjcqFNx1c/4QWK6yqZ3qlmyCFpk6TV267vriMHqw2C/nGD9Afv1yupxvog5TdiBWocCB4W3woSfn2ykT5tGHMV8=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=mc1JOrwif8sJjLdJetQ0ic52sIOZ289yPUVENE12N247o5E0sItn6L7XtS3vGCzZqXb/hjZsxFsHD0/L7jxpcd7ktKQjjVfWHv09YMsCgqkJL0LmBGLEl8J228L5Z3QdFLxdIqczTaiSlS8kOvoVjR2aJCWOb9bCnAdpyNNH47M=
- In-reply-to: <48456804.6030108@xxxxxxxxx>
- References: <48455957.4070903@xxxxxxxxx> <91c9771b0806030814u5340f9e2hf00b073891c22dd@xxxxxxxxxxxxxx> <48456804.6030108@xxxxxxxxx>
Для скорости лучше сделать
location = / { rewrite / /index.php?page=nosuch last; } # если я
правильно понял, индекс нужно закрыть
location / {
rewrite /no-such-page /index.php?page=nosuch last;
rewrite /tech-problems /tech-problems.html last;
error_page 404 = /index.php last;
# это не совсем ^/([^\/]+/$ но как частный случай работает и работает
намного быстрее. Вордпресс с этим у меня нормально работает. Речь ведь
про вордпресс, да?
deny all;
}
Андрей пишет:
Спасибо, не помогло :)
Но на мысль (совместно с другим письмом) натолкнуло. Убрал
location ~ / {
deny all;
}
совсем, а location ^~ / { переписал в виде
location / {
rewrite /no-such-page /index.php?page=nosuch last;
rewrite /tech-problems /tech-problems.html last;
rewrite ^/([^\/]+)/$ /index.php?page=$1 last;
deny all;
}
вроде работает.
Тему можно считать закрытой.
Спасибо.
Андрей.
Борис Долгов пишет:
Тогда в конец:
location = / {
rewrite / /index.php?page=nosuch last;
}
2008/6/3 Андрей <deepmindster@xxxxxxxxx> <mailto:deepmindster@xxxxxxxxx>:
Доброго времени суток.
Есть конфиг nginx-а, собственно, всё в этом конфиге хорошо и всё устраивает,
единственная проблема - по запросу example.com/ выдаётся ответ forbidden, а
хотелось бы видеть no-such-page.
конфиг примерно такой:
server {
listen xxx.xxx.xxx.xxx:80;
server_name example.com;
root /srv/www/vhosts/example.com
index no-such-page;
access_log /var/log/nginx/example.com.access.log main;
error_page 404 403 =200 /no-such-page;
error_page 500 501 502 503 504 =200 /tech-problems;
client_max_body_size 16k;
client_body_buffer_size 16k;
location ^~ / {
rewrite /no-such-page /index.php?page=nosuch last;
rewrite /tech-problems /tech-problems.html last;
rewrite ^/([^\/]+)/$ /index.php?page=$1 last;
}
location = /robots.txt {
}
location = /tech-problems.html {
}
location = /index.php {
fastcgi_pass 127.0.0.1:1026;
fastcgi_param SCRIPT_FILENAME
/srv/www/vhosts/example.com$fastcgi_script_name;
include fastcgi_params;
internal;
}
location /images_special {
root /srv/www/vhosts/example.com;
internal;
expires 8h;
}
location ~ / {
deny all;
}
}
подскажите, как добится желаемого, пжл. Ну и может общие замечания-советы,
тоже буду рад. Спасибо.
nginx 0.6.31
|