expiresActive .htaccess错误

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.