Welcome! Log In Create A New Profile

Advanced

Re: запрет прямого доступа к файлу news.php

Anonymous User
November 21, 2009 04:14PM
> On Sat, Nov 21, 2009 at 09:48:06PM +0300, actionmanager@gmail.com wrote:

>> > actionmanager@gmail.com wrote:
>> >> Здравствуйте,
>> >>
>> >> при обращении:
>> >> http://site.ru/news/2009/
>> >> http://site.ru/news/view/20/
>> >> http://site.ru/news/
>> >>
>> >> запросы поступают на news.php
>> >>
>> >> есть следующий конфиг:
>> >>
>> >> location /news/ {
>> >> root /home/site.ru;
>> >> rewrite "^/news/((\d{4}))/?" /news.php?year=$1 last;
>> >> rewrite "^/news/view/((\d{2,5}))/?" /news.php?view=$1 last;
>> >> rewrite ^/news/$ /news.php last;
>> >> }
>> >>
>> >> всё работает, но необходимо запретить прямой вызов файла news.php
>> >>
>> >> http://site.ru/news.php
>> >>
>> >> посоветуйте пожалуйста как правильно это сделать.
>>
>> > location = /news.php {
>> > internal;
>> > }
>>
>>
>> неа, не хочет(
>> 404 выдаёт на news.php и тут везде:
>>
>> http://site.ru/news/2009/
>> http://site.ru/news/view/20/
>> http://site.ru/news/

> Должно работать - только что проверил.


Здравствуйте,

версия nginx-0.8.26
система Debian Linux 5.0
используется php-fpm



404 страница выдаётся как для news.php так и для запросов:

http://site.ru/news/2009/
http://site.ru/news/view/20/
http://site.ru/news/

причём именно из-за:

location = /news.php {
internal;
}

убираю этот location и тогда работает rewrite нормально, но также доступен
прямой доступ к http://site.ru/news.php



полный конфиг:
server
{
listen 127.0.0.1:80;
server_name site.ru;

client_max_body_size 50m;
charset utf-8;

access_log logs/site.ru_access.log main;
error_log logs/site.ru_error.log error;

error_page 500 502 503 504 /50x.html;

location = /50x.html {
root /home/site/www/site.ru;
internal;
}

error_page 404 /404.html;

location = /404.html {
root /home/site/www/site.ru;
internal;
}

location = /favicon.ico {
empty_gif;
}

location / {
root /home/site/www/site.ru;
index index.php;
}

location /news/ {
root /home/site/www/site.ru;
rewrite "^/news/((\d{4}))/?" /news.php?year=$1 last;
rewrite "^/news/view/((\d{1,5}))/?" /news.php?view=$1 last;
rewrite ^/news/$ /news.php last;

# /news/2009/
# /news/view/20/
# /news/

}

location = /news.php {
internal;
}

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
root /home/site/www/site.ru;
access_log off;
}

location ~ \.php$ {
root /home/site/www/site.ru;
try_files $uri =404;
fastcgi_intercept_errors off;
fastcgi_pass unix:/var/run/php5/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/site/www/site.ru$fastcgi_script_name;
include fastcgi_params;
}
}
Subject Author Posted

запрет прямого доступа к файлу news.php

Anonymous User November 21, 2009 12:28PM

Re: запрет прямого доступа к файлу news.php

Sergey Skvortsov November 21, 2009 01:18PM

Re: запрет прямого доступа к файлу news.php

Anonymous User November 21, 2009 01:56PM

Re: запрет прямого доступа к файлу news.php

Igor Sysoev November 21, 2009 02:40PM

Re: запрет прямого доступа к файлу news.php

Anonymous User November 21, 2009 04:14PM

Re[2]: запрет прямого доступа к файлу news.php

Pavel V. November 21, 2009 03:54PM

Re: запрет прямого доступа к файлу news.php

Anonymous User November 22, 2009 08:54AM

Re: запрет прямого доступа к файлу news.php

noonesshadow November 22, 2009 09:54AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 284
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready