3

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 ^([^\.]+)$ $1.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 ?

4
  • Have you enabled the rewrite log in apache to see what it says? Commented Aug 15, 2013 at 16:52
  • Where I can find this option in GoDaddy ? Commented Aug 15, 2013 at 16:53
  • Oh, are you on their shared hosting? Commented Aug 15, 2013 at 16:53
  • Yes - it's shared hosting Commented Aug 15, 2013 at 16:55

2 Answers 2

1

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
0

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

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.