Put the following directives in your server block. nginx will then redirect URLs with double (or triple or multiple) slashes to the corresponding URL with a single slash.
merge_slashes off;
rewrite ^(.*?)//+(.*?)$ $1/$2 permanent;
Put the following directives in your server block. nginx will then redirect URLs with double (or triple or multiple) slashes to the corresponding URL with a single slash.
merge_slashes off;
rewrite ^(.*?)//+(.*?)$ $1/$2 permanent;
| <# | |
| .SYNOPSIS | |
| Create a GPU-P Guest driver package. | |
| .DESCRIPTION | |
| Gathers the necessary files for a GPU-P enabled Windows guest to run. | |
| .EXAMPLE | |
| New-GPUPDriverPackage -DestinationPath '.' | |
| .EXAMPLE | |
| New-GPUPDriverPackage -Filter 'nvidia' -DestinationPath '.' | |
| .INPUTS |
| template <typename T> | |
| struct UniqueIDGenerator { | |
| std::atomic<T> _id; | |
| std::function<const T(const T&)> _nexter; | |
| template <typename NEXT> | |
| UniqueIDGenerator(const T& init, const NEXT& nexter) { | |
| _id.store(init, std::memory_order::memory_order_release); | |
| _nexter = nexter; | |
| } |
| #include <memory> | |
| #include <cassert> | |
| #include <Windows.h> | |
| struct FileHandle | |
| { | |
| ::HANDLE fileHandle; | |
| //implicit | |
| FileHandle(::HANDLE h) noexcept |
| #include <string> | |
| #include <iostream> | |
| #include <memory> | |
| /** | |
| * Convert all std::strings to const char* using constexpr if (C++17) | |
| */ | |
| template<typename T> | |
| auto convert(T&& t) { |
git log --graph --oneline --decorate ( git fsck --no-reflog | awk '/dangling commit/ {print $3}' )This will show you all the commits at the tips of your commit graph which are no longer referenced from any branch or tag – every lost commit, including every stash commit you’ve ever created, will be somewhere in that graph.
| /etc/ppp/ppp.conf | |
| default: | |
| set device PPPoE:<interface connected to modem>:<profile name>: | |
| <profile name>: | |
| set authname <pppoe username> | |
| set authkey <pppoe password> | |
| add default HISADDR |
| #--- Build tun2socks and udpgw (as the user who will use the proxy) --- | |
| mkdir -p $HOME/src | |
| cd $HOME/src | |
| git clone "https://github.com/ambrop72/badvpn" | |
| cd badvpn | |
| mkdir -p build | |
| cd build | |
| export OUTDIR=$PWD | |
| export SRCDIR=$(dirname $PWD) |
| --- source3/modules/vfs_shadow_copy2.c.orig 2017-04-02 08:19:24 UTC | |
| +++ source3/modules/vfs_shadow_copy2.c | |
| @@ -1533,7 +1533,7 @@ static bool check_access_snapdir(struct | |
| &smb_fname, | |
| false, | |
| SEC_DIR_LIST); | |
| - if (!NT_STATUS_IS_OK(status)) { | |
| + if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED)) { | |
| DEBUG(0,("user does not have list permission " | |
| "on snapdir %s\n", |
To simplify home network management, I recently decommissioned my beefy domain controller/file server/Hyper-V host, moving mass file storage to the cloud. I thought I could live without Active Directory, but with 5 PCs and a couple of Windows tablets, I want it back, so my plan is to host a tiny VM instance in hyper-V on 4 of my desktop PCs, creating something like peer-to-peer AD (hopefully with little overhead).
The following references were incredibly helpful, but neither were perfect for getting up and running quickly, hence this gist.