summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--config.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/config.cpp b/config.cpp
index 26af2b5..bc09af9 100644
--- a/config.cpp
+++ b/config.cpp
@@ -257,7 +257,10 @@ const Path& Config::GetPath(const Socket& socket, const std::string& requested_h
if (m_host == host) {
for (const auto& path: site.paths) {
if (boost::starts_with(requested_path, path.requested) &&
- "/?\0"s.find(requested_path[path.requested.size()]) != std::string::npos &&
+ ("/?"s.find(requested_path[path.requested.size()]) != std::string::npos ||
+ requested_path[path.requested.size()] == 0 ||
+ requested_path[path.requested.size() - 1] == '/'
+ ) &&
path.requested.size() > path_len)
{
path_len = path.requested.size();