1

I'm using the following code in the .htaccess file to hide the extension of the php file.

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^ ([^\.]+)$ $1.php [NC]

I placed this file in the localhost/obis/ But when I run the index.php file without the .php extension, the following error occurs.

The requested URL /obis/index was not found on this server.

Can anybody suggest what might be the error?

I took the code from this tutorial: http://www.youtube.com/watch?v=L6k_WvvpPpk

anubhava
  • 761,203
  • 64
  • 569
  • 643
user1012181
  • 8,648
  • 10
  • 64
  • 106

1 Answers1

2

Try these 2 rules in root .htaccess:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+(?:index)?(.*?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]

RewriteCond %{THE_REQUEST} /index [NC]
RewriteRule ^(.*?)index([/.]|$) /$1 [L,R=302,NC,NE]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]
anubhava
  • 761,203
  • 64
  • 569
  • 643