The test website for the new design of https://wikimediafoundation.org/ is currently deployed on Toolforge at https://tools.wmflabs.org/wptestblog2/.
It is an instance of Wordpress with multisite enabled for sub-directories (as opposed to sub-domains). Each site in the multisite is for a language (using https://multilingualpress.org/).
On my local instance, running Apache I have the following .htaccess file:
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L]
And this is what the wp_blogs and wp_site table looks like:
With @Samwilson's help I was able to get the English website and its dashboard to show up properly (it was earlier stuck in an infinite redirect loop). The current .lighttpd.conf is:
url.rewrite-once = ( "^/wptestblog2/([_0-9a-zA-Z-]+/)?wp-admin$" => "/wptestblog2/$1wp-admin/", "^/wptestblog2/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)" => "/wptestblog2/$2", "^/wptestblog2/([_0-9a-zA-Z-]+/)?(.*\.php)$" => "/wptestblog2/$2", ) url.rewrite-if-not-file = ( "^/wptestblog2(/.*)" => "/wptestblog2/index.php$0" )
If one tries to go to https://tools.wmflabs.org/wptestblog2/es/?noredirect=es_ES they are redirected to a page whose name starts with "es", in this case https://tools.wmflabs.org/wptestblog2/profile/esraa-al-shafei/, instead of going to the language's site, like in
https://wikimediafoundation.org/es/.
I am not facing this problem with the above htaccess file with Apache locally. Also note that my local instance runs on localhost:8888, and not in a directory to begin with like in the case of https://tools.wmflabs.org/wptestblog2.