I keep getting and external 500 error and I'm pretty sure it's to do with the htaccess file if anybody can see any issues .. . .please help. .
this is also coming up with the error if it helps
Apache/2.4.18 (Ubuntu) Server at popertee.co.uk Port 443
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
AllowOverride Indexes
<FilesMatch "(?i)^.*\. (ico|flv|jpg|jpeg|png|gif|js|css|woff)$">
ExpiresActive On
ExpiresDefault A2592000
</FilesMatch>
I would suspect the two rules rewriting to themselves
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
The problem is, in an .htaccess file the rules are run over and over again, until there is no more rewrite.
So, if you have a request for test.php
, the second rule matches and rewrites to test.php
. But then the rules are run a second time. Again, the second rule matches and is rewritten to test.php
, and again and again.
Comment these lines and see, if the error goes away.
Since you suspect the Expires*
directives, it might be, that you must enable the expires module first. This can be done by
a2enmod expires
and then reload or restart Apache.