it-swarm.com.de

Mod-Rewrite-Regel nach Host-Upgrade auf Apache 2.4 verletzt

Ich benutze den folgenden Code auf meiner Site, um die PHP-Erweiterung von Links zu entfernen:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_Host} ^www\.(.+)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^\.]+)$ $1.php [NC,L]

Es hat gut funktioniert, aber mein Host GoDaddy hat seine Server auf Apache 2.4 aktualisiert und jetzt geben alle Links 404 zurück. Wie kann ich das korrigieren?

2
Spacedust

Möglicherweise möchten Sie fastCGI auch mit diesen in der .htaccess-Datei beenden

AddHandler x-httpd-php5-cgi .php
AddHandler x-httpd-php5-cgi .php5
1
user30605

Lösung:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## don't touch /forum URIs
RewriteRule ^forums/ - [L,NC]

## hide .php extension snippet

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

# To remove www header
RewriteCond %{HTTP_Host} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
0
Spacedust