Запретить всё, кроме определённых локэйшинов. Как?
Андрей
deepmindster at gmail.com
Tue Jun 3 20:59:01 MSD 2008
Sergey Shepelev пишет:
> Для скорости лучше сделать
>
> 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 at gmail.com>
>>> <mailto:deepmindster at gmail.com>:
>>>
>>>> Доброго времени суток.
>>>>
>>>> Есть конфиг 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
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>
>
More information about the nginx-ru
mailing list