Sometime years ago ALL of our Apache config files changed to have whitespace all over the place (see below, no idea who did it). Since I am upgrading from 2.2 to 2.4 this makes it tricky to find and replace all the required config changes.
I thought to get rid of the whitespace in the middle but keep the whitesapce at the front. I know how to replace at the beginning, end and everywhere. I even consulted a few books (e.g. Jeff Friedl’s regexp) but I cannot get my head around this – not even sure whether this is possible.
<Directory "THEDIRECTORY">
<LimitExcept GET POST>
deny from all
</LimitExcept>
Options -Indexes -MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
What I would like is this:
<Directory "THEDIRECTORY">
<LimitExcept GET POST>
deny from all
</LimitExcept>
Options -Indexes -MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
So I can easily search for and replace the config changes for apache 2.4
I thought coming from the end
s/s+(.*)s+(.*)s+$/$1$2/g
but this does not work for a number of reasons including that the number of replacements change, they are a non fixed number.
Help please, I am clueless.
2
Answers
You can use this regex to match any horizontal whitespace two or more at a time and replace it with a single space.
This regex ensures, only space will be matched that is surrounded by some non-space character using
S
Regex Demo
In case
h
is not supported in your regex, you can use just a space instead ofh
and write your regex as,Demo using space only
Ensure your add the following line to your .htaccess or apache conf file dire tory tag if it’s not already there:
Then below add
Replacing DOMAIN_NAME.