Извините, но ваше преобразование "URL" не является однородным (= невозможно "обобщить", потому что они не разделяют точно одни и те же принципы), поэтому вот лучшее, что я мог сделать:
RewriteEngine On
^/?$ index.php [NC,QSA,L]
^/?about$ about.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)$ /$1.php [NC,QSA,L]
^/?(publisher|agencies|advertiser)/sign_up$ /$1_signup.php [NC,QSA,L]
^/?(publisher|agencies|advertiser)/login$ /login.php [NC,QSA,L]
Но если вы хотите "однородные" вещи, которые не совсем соответствуют тому, что вы просите, у вас могут быть "более чистые" правила, подобные этим:
RewriteEngine On
^/?$ index.php [NC,QSA,L]
^/?about$ about.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)$ /$1.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)/sign_up$ /$1_signup.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)/login$ /login.php [NC,QSA,L]
И если вы действительно хотите централизовать все, вы можете сделать (= передать тип в файл php
):
RewriteEngine On
^/?$ index.php [NC,QSA,L]
^/?about$ about.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)$ /$1.php [NC,QSA,L]
^/?(agencies|contact|publisher|advertiser)/(sign_up|login)$ /$2.php?type=$1 [NC,QSA,L]