Welcome! Log In Create A New Profile

Advanced

забыл слэш в конце url получил сусанин-autoindex

April 23, 2015 03:18PM
Добрый день уважаемые!
Столкнулся с странным поведением толи браузеров... толи autoindex в location... толи своими кривыми ручками.... Странность проявляется в различном отображении путей ссылок (нижняя строка браузера) при наведении на ссылку в листинге autoindex. Проявляется при отсутствии закрывающего слэша в url
Можете взлянуть вживую
пример правильного поведения: http://ihome.itcod.com/max/projects/
пример неправильного поведения: http://ihome.itcod.com/max/projects
(СЛЭШ ЗАКРЫВАЮЩИЙ ЗАБЫЛ:))

В обоих случаях страница формируется вроде одинаковая... не увидел разницы...
<html>
<head><title>Index of /max/projects//</title></head>
<body bgcolor="white">
<h1>Index of /max/projects//</h1><hr><pre><a href="../">../</a>
<a href="auth-dav/">auth-dav/</a> 23-Apr-2015 18:31 -
<a href="itcod/">itcod/</a> 21-Apr-2015 10:32 -
</pre><hr></body>
</html>

Но если навести на ссылку auth-dav (если слеш забыли в конце) и посмотреть внизу куда ведёт путь... то увидим что "project" отрезан и нам предлагается перейти на http://ihome.itcod.com/max/auth-dav/ Собственно в никуда она и ведёт... ведь правильно это http://ihome.itcod.com/max/projects/auth-dav/

Кто слопал project при потеряном слэше? как его вернуть при потеряном слэше?

Проверял в браузерах Opera и SeaMonkey

server {
listen 80;
server_name dav.example.com;
server_name_in_redirect off;
access_log /var/log/nginx/dav.example.com-access.log main;
#resolver 10.255.255.1 [::1]:5353;
charset utf-8;

set $dir /opt/home;
set $testdir $dir$uri;
set $uri_type none;
if (-d $testdir) {
set $uri_type dir;
rewrite ^(.*)$ $1/;
rewrite ^(.*)/+$ $1/;
}
if (-f $testdir) {
set $uri_type file;
}
if ($request_method = "MKCOL") {
rewrite ^(.*)$ $1/;
rewrite ^(.*)/+$ $1/;
set $uri_type dir;
}
set $sadm_passwd .uhtpsw;
set $user_passwd .htpasswd; #user:password[crypt(3)/md5/sha1]
set $user_permit .htpermit; #user:GET,PUT,....OPTIONS
set $user_permit_default GET,PROPFIND,OPTIONS; # Allow

merge_slashes on;

location / {
access_by_lua_file /etc/nginx/lua/auth-dav.lua;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
create_full_put_path on;
dav_access user:rw group:rw;
client_body_temp_path /opt/itcod-dav.tmp/;
client_max_body_size 0;
autoindex on;
root $dir;

}
location ~/\.uht {
deny all;
}

}

авторизатор auth-dav.lua если потребуется тут http://ihome.itcod.com/max/projects/auth-dav/
Subject Author Posted

забыл слэш в конце url получил сусанин-autoindex

itcod April 23, 2015 03:18PM

Re: забыл слэш в конце url получил сусанин-autoindex

Валентин Бартенев April 23, 2015 03:42PM

Re: забыл слэш в конце url получил сусанин-autoindex

itcod April 24, 2015 03:11AM

Re: забыл слэш в конце url получил сусанин-autoindex

itcod April 24, 2015 03:24AM

Re: забыл слэш в конце url получил сусанин-autoindex

itcod May 10, 2015 05:39AM

Re: забыл слэш в конце url получил сусанин-autoindex

Илья Шипицин May 12, 2015 03:34PM

Re: забыл слэш в конце url получил сусанин-autoindex

itcod July 14, 2015 05:31PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 249
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