Mobile app version of vmapp.org
Login or Join
Martha676

: Mod-rewrite rule broken after host upgrade to Apache 2.4 I use the following code on my site to remove php extension from links: RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.(.+)$

@Martha676

Posted in: #Apache2 #Htaccess #ModRewrite #Php

I use the following code on my site to remove php extension from links:

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


It was working fine, but my host GoDaddy upgraded their servers to Apache 2.4 and now all links return 404. How to correct this ?

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Martha676

2 Comments

Sorted by latest first Latest Oldest Best

 

@Gretchen104

You may want to also shut off fastCGI with these in the .htaccess file

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

10% popularity Vote Up Vote Down


 

@Looi9037786

Solution:

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 ^(.*?)/?$ .php [L]

# To remove www header
RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
RewriteRule ^(.*)$ %1/ [L,R=301]

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme