2011-04-19 3 views
0

Ok, donc j'ai cette règle mod_rewrite qui se fixe à l'intérieur d'une extension .html si elle n'est pas fourni lors de l'envoi de la demande:.htaccess Gâcher avec l'extension .php?

 
Options +FollowSymLinks 
RewriteEngine on 
# 
## Internally rewrite extensionless file requests to .html files ## 
# 
# If the requested URI does not contain a period in the final path-part 
RewriteCond %{REQUEST_URI} !(\.[^./]+)$ 
# and if it does not exist as a directory 
RewriteCond %{REQUEST_FILENAME} !-d 
# and if it does not exist as a file 
RewriteCond %{REQUEST_FILENAME} !-f 
# then add .html to get the actual filename 
RewriteRule (.*) /$1.html [L] 
# 
# 
## Externally redirect clients directly requesting .html page URIs to extensionless URIs 
# 
# If client request header contains html file extension 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+html\ HTTP 
# externally redirect to extensionless URI 
RewriteRule ^(.+)\.html$ http://www.example.com/$1 [R=301,L] 

Je pensais à changer partout où il .html dit .php dans la première partie de ce fichier de sorte que lorsque quelqu'un demande un fichier .php sans ajouter son extension, il irait quand même sur cette page .php. Il s'avère que cela ne fonctionne pas. Pourquoi pas?

Ma preuve ici: http://appstorecrazy.com/OHNOEZ/NOTEST

+0

Parce qu'il n'y a pas de fichier 'NOTEST.php' dans votre racine. – zerkms

Répondre

1

Essayez règles de gestion php:

## Internally rewrite extensionless file requests to .php files ## 
# If the requested URI does not contain a period in the final path-part 
RewriteCond %{REQUEST_URI} !(\.[^./]+)$ 
# and if it does not exist as a directory 
RewriteCond %{REQUEST_FILENAME} !-d 
# and if it does not exist as a file 
RewriteCond %{REQUEST_FILENAME} !-f 
# then add .html to get the actual filename 
RewriteRule (.*) /$1.php [L] 

## Externally redirect clients directly requesting .php page URIs to extensionless URIs 
# 
# If client request header contains html file extension 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.php 
# externally redirect to extensionless URI 
RewriteRule ^(.+)\.php$ /$1 [R=301,L]