Ich wollte Dateien alsWie kann ich Slash-Zeichen `/` in Apache `<If>` Regex der Direktive entkommen?
application/xhtml+xml
dienen .xhtml, wenn der Browser sagt, dass es sie akzeptiert.text/html
sonst
Ich versuchte es mit mod_rewrite
zu tun, aber es hat nicht funktioniert mit Options -FollowSymLinks
(siehe Why I do I get 403 Forbidden when viewing files affected by Apache RewriteRule if I have `Options -FollowSymLinks`?).
Dann habe ich versucht,
<Files "*.xhtml">
<If "%{HTTP:Accept} !~ /application\/xhtml\+xml/">
ForceType text/html
</If>
</Files>
Aber ich bekomme einen Syntaxfehler: fehlgeschlagen regulären Ausdruck zu kompilieren.
Inzwischen verwende ich diesen Code ...
<Files "*.xhtml">
<If "%{HTTP:Accept} !~ /xhtml\+xml/">
ForceType text/html
</If>
</Files>
... das funktioniert, aber ich möchte den richtigen MIME-Typ entsprechen.
ich das comment_3455 von Covener nicht sehen kann. Aber der Abschnitt [Other] (http://httpd.apache.org/docs/2.4/expr.html#other) sagt 'm # regexp #' ist eine Alternative zu '/ regexp /'. – Oriol
Seltsam, der Anker schießt mich direkt auf die richtige Gesprächsantwort. Aber auch super finden Sie auf der offiziellen Other-Dokumentationstabelle. – lkraav
'm # regexp #' funktioniert gut für mich bei der Auswertung gegen 'REQUEST_URI', die in einem typischen Szenario Schrägstriche haben wird. – RjOllos