web-dev-qa-db-fra.com

Le code permettant de rediriger une page HTML sans extension à l'aide d'un fichier .htaccess génère une erreur 404

J'essaie de rediriger une page HTML vers une page WordPress qui n'a pas d'extension. Le résultat de la redirection de example.com/fa/home.html vers example.com/fa/ est un 404 page not found. Comme vous pouvez le voir, ils sont tous deux dans un sous-répertoire.

J'ai essayé plusieurs approches, que ce soit manuellement ou via cPanel pour rediriger ces URL. Notez que j'utilise un serveur Web Nginx.

Lorsque j'essaie de rediriger une autre URL telle que example.com/en/home.html qui ne se trouve pas dans le répertoire /fa, la redirection a été effectuée avec succès. J'ai un fichier .htaccess dans le dossier racine et un dans le répertoire /fa. J'ai supprimé tout le contenu du fichier . Htaccess du répertoire /fa et je n'ai laissé que la règle de la page d'index par défaut, mais toujours pas de chance.

Le code .htaccess dans le répertoire racine est:

RewriteEngine on
DirectoryIndex Portal.html

RewriteEngine On
RewriteCond %{HTTP_Host} ^mscaspian.com$
RewriteRule (.*) http://www.mscaspian.com/$1 [R=301,L]

RewriteCond %{HTTP_REFERER} !^http://mscaspian.com/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://mscaspian.com$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.mscaspian.com/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.mscaspian.com$      [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://www.mscaspian.com [R,NC]

ErrorDocument 404 /404.html 

Et le code dans le répertoire /fa est:

 DirectoryIndex index.html index.htm index.php

 <IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /fa/
 RewriteRule ^index\.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /fa/index.php [L]
1
Conspiria

Je pense que cela va vous aider à démarrer: je ne crois pas que la règle de réécriture soit nécessaire, lorsque la page par défaut pour WordPress est index.php

Options +FollowSymLinks
RewriteEngine on

Redirect 301 ^/home.html http://www.mscaspian.com/fa

Mettre à jour

Localisation de WordPress
Liste des plug-ins de localisation

Je ne suis en aucun cas affilié à la liste des plug-ins ci-dessus, mais sur Google pour:

localiser wordpress contenu


Mise à jour 2
Liste des redirections courantes

Selon votre commentaire, vous devez ajouter une règle de redirection pour toutes les pages, en tant que ligne distincte, par exemple:

Redirect 301 ^/about.html http://www.mscaspian.com/fa/about
Redirect 301 ^/contact.html http://www.mscaspian.com/fa/contact

Comme je l'ai dit plus tôt, puisque la page par défaut est index.php. et toutes ces pages sont gérées par index.php, la redirection vers la "Jolie URL" est parfaitement légale, à condition que vous ayez les règles pour Pretty Permalinks Enabled , avant les redirections.

1
eyoung100