Ok, also im Grunde habe ich diesen Teil der .htaccess teilweise funktionstüchtig, aber noch nicht ganz ganz eben. Ich habe zwei Unterverzeichnisse auf meinem Server für eine englische und eine französische Seite (die Unterverzeichnisse sind en bzw. fr). Wenn ein Benutzer etwas in die URL-Leiste eingibt, möchte ich, was immer er eingegeben hat, zu en oder fr hinzugefügt werden (abhängig von der Standardsprache des Benutzers auf seinem Computer)..htaccess Multiple Language Site
Wenn sie domain.com/test eingeben (und ihre Sprache auf Englisch eingestellt ist), möchte ich, dass sie auf domain.com/en/test/ umleitet. Ich möchte nur, dass dies geschieht, wenn der Test kein Ordner, Verzeichnis, Datei oder irgendetwas im Stammverzeichnis ist.
Hier ist mein .htaccess-Code so weit, dass Art der Arbeiten:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^(.*)$ /en/$1/ [R=301,L]
Das Problem mit meinem Code aber ist jedoch, dass, wenn ein Benutzer eingegeben in so etwas wie domain.com/test/ (MIT der Schrägstrich), wird es nicht funktionieren, weil ich einen anderen Teil in meinem .htaccess habe, der am Ende von allem einen Schrägstrich erzwingt. Wenn ein Benutzer in domain.com/test.html eingetragen ist (und das ist eine Datei im Stammverzeichnis der Domäne), wird es nicht funktionieren, weil ich ein anderes Teil in meinem .htaccess habe, das .html-Erweiterungen entfernt.
Grundsätzlich brauche ich diese Umleitung in absolut allen Situationen zu arbeiten, außer wo es logisch nicht sollte.
Wie auch immer, wenn jemand von euch mir helfen könnte, würde ich es sehr schätzen.
Ich möchte PHP überhaupt nicht verwenden, ich bin nur interessiert an .htaccess-Datei. Wie ich im OP gesagt habe, ich habe es teilweise funktioniert. Es fügt hinzu/en/wenn die eingegebene URL am Ende keinen Schrägstrich hat. Aber es schreibt auch die URL in einigen Fällen, wo ich es nicht möchte ... Wie: wenn die Datei bereits im Stammordner ist. – shootingrubber
Es gibt auch ein anderes Problem mit meinem ursprünglichen Code. Wenn ich mich tatsächlich in der en/subdomain befinde, fügt es ein weiteres en/auf die URL hinzu. Wenn ich also auf domain.com/de/test stehe und dann auf das Beispiel klicke, wird es auf domain.com/en/example gehen. – shootingrubber
Danke, es hat mir geholfen. – Elkas