Clean URL in Ubuntu 16.04 mit Apache2

|

Für saubere URLs muss man in Ubuntu 16.04 mit Apache2 an mehreren Stellen schrauben.

  1. mod_rewrite aktivieren
sudo a2enmod rewrite

ausführlicher bei ubuntuusers.de beschrieben

  1. sites-enabled Konfiguration anpassen
sudo nano /etc/apache2/sites-enabled/000-default.conf

in der VirtualHost Direktive folgendes ergänzen

<Directory "/var/www/html">
  RewriteEngine On
  RewriteRule ^link([^/]*).html$ rewrite.php?link=$1 [L]
  Options Indexes FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>
  1. Apache2-Dienst neu starten
sudo service apache2 restart
  1. .htaccess anlegen in Webverzeichnis
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . index.php [L]
</IfModule>

Ein kleiner Tipp zum Schluss: AltoRouter ist eine kleine PHP-Routing-Klasse, die sich sehr flexibel einsetzen lässt.
github.com/dannyvankooten/AltoRouter

happy coding