Mam kilka prawidłowych adresów URL w mojej domenie, do których dostęp może być następujący:
- mysite.com/somepage
- www.mysite.com/someotherpage
- mysite.com/thirdpage/other
- itp
I niektóre adresy URL, które chcę przepisać w następujący sposób:
- mysite.com/specialpage (do mysite.com/?specialpage)
- www.mysite.com/veryspecialpage (do mysite.com/?veryspacialpage)
Zakładam, że musiałbym dokładnie dopasować strony specjalne (jedna reguła dla każdej), ale www. prefiks jest opcjonalny, jak mam to zrobić?
RewriteRule ^(www.)?/mysite.com/specialpage mysite.com/?specialpage [L,NC,QSA]
RewriteRule ^(www.)?/mysite.com/veryspecialpage mysite.com/?veryspecialpage [L,NC,QSA]
Ale nie mogę tego zrobić
Odpowiedzi:
1 dla odpowiedzi № 1Reguła przepisywania wyrażenia regularnego nie pasuje do nazwy hosta, więc możesz ją po prostu pominąć:
RewriteRule ^specialpage$ /?specialpage [L,QSA]
RewriteRule ^veryspecialpage$ /?veryspecialpage [L,QSA]