.htaccess Regeln für unbekannte Unterordner neu schreiben
Ich stehe vor folgendem Problem:
Meine Ordnerstruktur auf dem Server lautet: public_html / projects /
Baumansicht: Ordner structrure Baumansicht
Im Ordner public_html befindet sich eine .htaccess- Datei.
Innerhalb der Projekte Ordner meine Partner numerus Ordner mit einem Zielseite im Inneren schaffen wird (sagen wir einfach eine Datei index.php)
Die Umschreiberegeln, die ich anzuwenden versuche, sind eine Sprache und ein Währungs- URL-Parameter.
Also zum Beispiel diese URL: https://www.example.com/projects/whatever-project-name/index.php?lang=en¤cy=eur
muss übersetzt werden in: https://www.example.com/projects/whatever-project-name/en/eur/
Die Währungsvariable ist ebenfalls optional. (Die Sprachvariable ist eine obligatorische Variable.)
Die URLs können also auch so aussehen: https://www.example.com/projects/whatever-project-name/en/
Ich suche und versuche (und weine) jetzt ein paar Tage, um dieses Problem zu lösen. Die einzige Lösung, die meiner nahe kommt, ist folgende: RewriteRule für unbekanntes Verzeichnis
aber ich habe es nicht geschafft, dass es funktioniert.
Was ich bis jetzt habe (aber es funktioniert nicht richtig) ist:
RewriteEngine On
RewriteRule ^(.*/)?/([a-zA-Z0-9]{2,3})/([a-zA-Z0-9-]+)/?$ projects/$1index.php?lang=$2¤cy=$3
RewriteRule ^(.*/)?/([a-zA-Z0-9]{2,3})/?$ projects/$1index.php?lang=$2[L]
Antworten
Könnten Sie bitte anhand der gezeigten Beispiele Folgendes versuchen? Stellen Sie sicher, dass Sie den Browser-Cache leeren, bevor Sie Ihre URLs testen.
RewriteEngine ON
##With currency variable in URI.
RewriteCond %{REQUEST_URI} ^/projects/([\w-]+)/en/([\w-]+)/?$ [NC] RewriteRule ^(.*)$ projects/%1/index.php?lang=en¤cy=%2 [L]
##Without currency variable in URI.
RewriteCond %{REQUEST_URI} ^/projects/([\w-]+)/en/?$ [NC] RewriteRule ^(.*)$ projects/%1/index.php?lang=en [L]