aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/mod_http_files.lua3
-rw-r--r--util/pluginloader.lua8
2 files changed, 6 insertions, 5 deletions
diff --git a/plugins/mod_http_files.lua b/plugins/mod_http_files.lua
index dd04853b..2e9f4182 100644
--- a/plugins/mod_http_files.lua
+++ b/plugins/mod_http_files.lua
@@ -14,6 +14,7 @@ local os_date = os.date;
local open = io.open;
local stat = lfs.attributes;
local build_path = require"socket.url".build_path;
+local path_sep = package.config:sub(1,1);
local base_path = module:get_option_string("http_files_dir", module:get_option_string("http_path"));
local dir_indices = module:get_option("http_index_files", { "index.html", "index.htm" });
@@ -61,7 +62,7 @@ function serve(opts)
local request, response = event.request, event.response;
local orig_path = request.path;
local full_path = base_path .. (path and "/"..path or "");
- local attr = stat(full_path);
+ local attr = stat((full_path:gsub('%'..path_sep..'+$','')));
if not attr then
return 404;
end
diff --git a/util/pluginloader.lua b/util/pluginloader.lua
index b894f527..b9b3e207 100644
--- a/util/pluginloader.lua
+++ b/util/pluginloader.lua
@@ -39,10 +39,10 @@ function load_resource(plugin, resource)
resource = resource or "mod_"..plugin..".lua";
local names = {
- "mod_"..plugin.."/"..plugin.."/"..resource; -- mod_hello/hello/mod_hello.lua
- "mod_"..plugin.."/"..resource; -- mod_hello/mod_hello.lua
- plugin.."/"..resource; -- hello/mod_hello.lua
- resource; -- mod_hello.lua
+ "mod_"..plugin..dir_sep..plugin..dir_sep..resource; -- mod_hello/hello/mod_hello.lua
+ "mod_"..plugin..dir_sep..resource; -- mod_hello/mod_hello.lua
+ plugin..dir_sep..resource; -- hello/mod_hello.lua
+ resource; -- mod_hello.lua
};
return load_file(names);