htaccess -> 404

Maxim Dounin mdounin на mdounin.ru
Вс Янв 22 21:35:15 UTC 2012


Hello!

On Mon, Jan 23, 2012 at 12:21:45AM +0300, Роман wrote:

> Вроде бы простая задачка но что то не получается ее реализовать.
> 
> Есть у  меня файлик index.php, на который идут все запросы
> 
> 
> location / {
> ...
> 	try_files $uri $uri/ /index.php?$uri&$args;
> }
> 
> и есть файлик .htaccess
> 
> Хочу чтобы при запросе к файлу .htaccess выдавалась ошибка 404
> сгенерированная в недрах  /index.php.
> 
> 
> попробовал так
> 
> location ~ /\.(ht) {

Just a side note: скобки вокруг "ht" - лишние.

>     return 404;
> }
> 
> location / {
> ...
> 	error_page 404 = /index.php?$uri&$args;
> }
> 
> 
> но не получается.
> Отдается стандартная страница nginx.
> 
> Подскажите решение задачки.

Указывать "error_page 404" надо там, где возникает 404'я ошибка.  
Или на более высоких уровнях, чтобы в нужное место оно 
отнаследовалось.

В вашем случае 404'я ошибка возникает в "location ~ /\.ht", 
соответственно нужно указать error_page либо там, либо (что обычно 
более логично) - на уровне server.

    error_page 404 ...

    location / {
        try_files ...
    }

    location ~ /\.ht {
        return 404;
    }

Maxim Dounin



Подробная информация о списке рассылки nginx-ru