Rewrite-modulen för Apache brukar av någon outgrundlig anledning aldrig fungera bra för mig. Nu har jag återigen spenderat någon timme med att konfa upp den för wordpress och skriver därför ner vad jag gjort för att komma ihåg det till nästa gång.
Innehållet för min site mysite
pekas ut av en konfigurationsfil i /etc/apache2/sites-available
(virtual host-fil). Den innehåller följande:
...
DocumentRoot /var/www/mysite
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/mysite>
Options Indexes FollowSymLinks MultiViews
AllowOverride All AuthConfig
Order allow,deny
Allow from all
</Directory>
...
I /var/www/mysite
ligger filen .htaccess
som ser ut så här:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mysite/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mysite/index.php [L]
</IfModule>
Det sista steget är att aktivera själva rewrite-modulen. Detta kan åstadkommas genom att skapa en symbolisk länk i /etc/apache2/mods-enabled
enligt följande:
sudo ln -s /etc/apache/mods-available/rewrite.load /etc/apache/mods-enabled/rewrite.load
Tada!!