Blog

URL-Rewriting in lokaler Testumgebung

In meiner lokalen Testumgebung auf meinem Windows-Computer läuft als HTTP-Server Apache, natürlich PHP als Programmiersprache und MariaDB – das Datenbank-Management-System, das kompatibel zu MySQL ist. Alle Komponenten sind separat installiert, also nicht als XAMPP-Paket; aber das nur am Rande.

Natürlich betreibt man lokal keine Suchmaschinenoptimierung, und so ist es eigentlich egal, wie der URL geformt ist. Dennoch möchte man gern alles so testen, als liefe es auf einem Produktiv-Server »da draußen«. Als ich in einem CMS, das ich ausprobieren wollte, die »hübschen URLs« einschaltete, wurde auch die .htaccess-Datei korrekt erstellt. Aber die Website war nicht voll benutzbar, weil sich die Unterseiten nicht besuchen ließen. Es wurden Fehlermeldungen ausgespuckt: die jeweilige Seite sei nicht erreichbar.

Ich dachte zunächst an einen Fehler im CMS. Aber in einem Shopsystem, das ich daraufhin zum Testen installierte, trat genau dasselbe Phänomen auf. Also kam mir die Idee: Die .htaccess-Datei wird nicht ausgelesen oder deren Anweisungen werden nicht befolgt. Das Modul mod_rewrite war allerdings installiert. Ich wusste aber nicht, was in der Konfigurationsdatei des Apache-Servers falsch sein könnte.

Bei Stack Overflow fand ich die Lösung (danke an Sidney Veiga und todofixthis): In der httpd.conf muss man im zweiten Bereich Directory (dort, wo das Wurzelverzeichnis, DocumentRoot, angegeben wird) AllowOverride auf All setzen. Bei mir hatte None gestanden.

allowoverride-all.png

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mit Absenden dieses Kommentarformulars bestätigst du, dass du die Datenschutzerklärung gelesen hast und dich mit der Speicherung deiner Daten einverstanden erklärst. Deine Daten werden nur benötigt, um dich gegebenenfalls zwecks Beantwortung deiner Anfrage kontaktieren zu können, und werden weder an Dritte weitergegeben noch zu Werbezwecken missbraucht.