2010-08-17 7 views
0

J'ai récemment déplacé mon blog d'un serever à l'autre. Je suis maintenant incapable de restaurer ma structure permalien.Wordpress permalinks cassé

Maintenant, ma structure permalink est devenue /? P = 123. Chaque fois que j'essaye de le changer pour n'importe quelle autre structure permalien faite sur commande, il jette 404 pour tous les poteaux. Vérifiez le blog au http://microreviews.org J'ai été forcé de faire la structure permalink comme /? P = 123. Toutes les entrées des moteurs de recherche sont cependant sur l'ancienne structure /% postname%/

Aucun des plugins pour le même semble fonctionner et je suis coincé avec la structure? P = 123.

Que dois-je faire?

+0

Avez-vous migré votre fichier .htaccess avec le reste de votre site? Ce serait ma première supposition. Cela, ou le chemin dans votre. Htaccess est différent en raison d'un serveur différent. – Sampson

+0

500 erreur maintenant que j'ai copié le fichier .htacces de l'ancienne installation au nouveau –

+0

J'ai vérifié votre site et il semble que vous résolvez votre problème. J'ai le même problème. Qu'avez-vous fait pour résoudre ce problème? – panofish

Répondre

3

En supposant que vous êtes sur le serveur Apache:

  • Vous n'avez pas le fichier .htaccess sur le nouveau serveur, ou
  • le nouveau serveur n'a pas mod_rewrite activé ou
  • le nouveau serveur ignore les fichiers .htaccess, ou
  • toute combinaison de ce qui précède :)
+0

Maintenant, quand j'ai mis le .htaccess de l'ancienne installation, je reçois une erreur de 500. –

+1

Vérifiez les journaux d'erreurs d'apache. assurez-vous que mod_rewrite est activé et que AllowOverride n'est PAS défini sur None dans httpd.conf (ou quel que soit le fichier de configuration de ce vhost). – robertbasic

0

l'autre option au lieu d'utiliser .htacc ess (bien que Wordpress soit construit autour de la modification de ce fichier) vous pouvez prendre le contenu du fichier .htaccess et les ajouter à une directive dans votre fichier httpd.conf (ou le fichier de configuration de l'hôte virtuel). Cette approche nécessite plus d'accès à votre installation Apache (cela peut ne pas fonctionner avec certaines solutions d'hébergement), mais selon la documentation Apache httpd c'est plus sécurisé et moins de travail sur le serveur puisque Apache va scanner chaque répertoire pour les fichiers .htaccess On accède à la page et il rechargera le (s) fichier (s) .htaccess à chaque fois qu'on accédera à la page. Si l'accès est mis dans la configuration du serveur, alors il est chargé une fois au démarrage d'Apache (ou sur un rechargement de serveur) et c'est tout.

Par exemple: Si votre fichier .htaccess contenait les éléments suivants pour le/www/htdocs/exemple répertoire

AddType text/example .exm 

Ensuite, ce qui suit dans votre fichier httpd.conf serait équivalent

<Directory /www/htdocs/example> 
AddType text/example .exm 
</Directory> 

L'approche de modification de votre configuration principale au lieu de .htaccess ne nécessite pas que vous spécifiez AllowOverride à autre chose que None.

Dans ce cas, vous devez toujours activer mod_rewrite pour que les permaliens fonctionnent correctement.