Hin und wieder begegnen einem in mod_rewrite Anleitungen Pattern, in welchen nach dem Delimiter ^ als erstes ein Slash und ein Fragezeichen folgen, z.B.:
RewriteRule ^/?foo$ https://example.com/bar [L,R=301]
Aufgrund des folgenden Fragezeichen ist der Slash am Anfang (der „heading Slash“) optional. Da in einer RewriteRule in der .htaccess Datei den URL-Pfaden grundsätzlich der heading Slash fehlt, kann man diese beiden Zeichen dort auch weglassen:
RewriteRule ^foo$ https://example.com/bar [L,R=301]
Anders verhält es sich allerdings in einer VirtualHost-Konfiguration des Apaches, außerhalb eines Directory-Containers: hier enthält ein URL-Pfad den beginnenden Slash, folglich muss dieser im Pattern auch angegeben werden:
RewriteRule ^/foo$ https://example.com/bar [L,R=301]
Ein Pattern „^/?foo$“ macht folglich Sinn in Anleitungen, die portabel sein sollen, d.h. sowohl in .htaccess Dateien als auch in den VirtualHost-Konfigurationsdateien des Webservers funktionieren sollen.