haadaa
haadaa

Reputation: 87

Redirecting the content of a directory, except for the directory itself and some of its subdirectories and files on Nginx

@Starkeen solved this for an Apache configuration at Redirecting the content of a directory, but not the directory itself as well as some of its subdirectories and files, but we'll soon be moving to Nginx.

His very elegant solution for Apache:

RedirectMatch ^/category/((?!index|images|menu)[^/]+)/?$ /$1

Here, everything in the /category/ directory -- except for /category/index.php, the content of /category/images/ and the content of /category/menu/ -- is redirected to the root folder.

We tried the translation from htaccess to Nginx offered at http://winginx.com/en/htaccess,

location ~ ^/category/((?!index|images|menu)[^/]+)/?$ {
rewrite ^(.*)$ /$1 redirect;
}

but that didn't work.

Upvotes: 1

Views: 48

Answers (1)

haadaa
haadaa

Reputation: 87

For some reason, when we finally give up searching for a solution and end up asking for help, we often find one soon after. Here it is -- it works perfectly:

rewrite ^/category/((?!index|images|menu)[^/]+)/(.*)$ /$1 permanent;

Upvotes: 1

Related Questions