2017-10-16 3 views
0

J'essaie de rediriger les pages système index.php plus comme 404.php, 403.php etc. vers leurs pages .html respectives (index.html, 404.html, 403. html etc.) dans le répertoire ROOT.Htaccess rediriger les fichiers php vers html en racine

Le problème est que les solutions suggérées fournies sur Stackoverflow ne semblent pas fonctionner dans mon cas. En raison d'exigences techniques, les fichiers PHP doivent rester dans le répertoire racine.

Règles en .htaccess

RewriteOptions inherit 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$ 
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$ 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}/index.html !-f 
RewriteCond %{REQUEST_FILENAME}/index.php !-f 
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$ 
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$ 
RewriteRule . index.php [L] 

</IfModule> 
# -- concrete5 urls end -- 

<IfModule mod_headers.c>  
    Header set Access-Control-Allow-Origin * 
</IfModule> 
#Header set Access-Control-Allow-Origin * 

Répondre

1

Essayez ce code à votre fichier répertoire .htaccess principal:

RewriteEngine On 
RewriteRule ^(index|404|403)\.php$ /$1.html [L,R=302] 

Le code ci-dessus redirigera pages mentionné uniquement dans le répertoire racine et si vous voulez ajouter sous-répertoire à l'un d'eux, il suffit de le changer comme ceci sub/index ou sub/404 et ainsi de suite.

je forme est ok, changer 302 à 301 pour obtenir la redirection permanente

+0

Il a travaillé en partie. Tout redirige vers index.html maintenant. Cependant, si j'accède à un dossier dans le sous-répertoire lié php (racine/dossier), il redirige également vers index.html dans root au lieu de index.php dans ce sous-répertoire. – Alex

+0

je suis sûr que c'est seulement pour la racine mais vous pouvez avoir d'autres règles dans le sous-répertoire, attendez que je le révise –

+0

cela devrait fonctionner en root seulement, faites moi savoir si vous avez une règle dans .htaccess au sous-dossier ou dans ce sous-dossier –