2017-09-01 5 views
0

Je gère un site Joomla sur un serveur Ubuntu avec apache dans un hôte virtuel, mais je ne peux pas réécrire l'URL pour travailler (je veux supprimer index.php des URLs). Mod_rewrite est activé sur le serveur, testé et fonctionne sur un autre hôte virtuel non-Joomla. Les deux configurations d'hôte virtuel sont identiques à l'exception de chemins/domaines différents et d'un certificat SSL sur Joomla VH. Je n'arrive pas à trouver quoi que ce soit dans le certificat qui devrait causer ces problèmes, mais je peux me tromper. Des réflexions là-dessus?Impossible de faire fonctionner mod_rewrite avec Joomla

J'ai testé la fonctionnalité du module de réécriture avec le paramètre de réécriture d'URL de Joomla (en configuration globale) avec le Joomla .htaccess par défaut ainsi qu'avec un htaccess (base de réécriture, commentaire d'autres réécritures etc.). Aussi essayé avec un .htaccess vide que l'ajout d'une règle de réécriture standard fournie par Joomla! Documentation:

RewriteEngine On<br/> 
Options +FollowSymLinks<br /> 
RewriteRule ^joomla\.html http://www.joomla.org/? [R=301,L] 

Ce qu'il ne fonctionne pas non plus.

Est-ce que quelqu'un a une idée de ce qui pourrait être faux ou comment je peux résoudre ce problème?

Ubuntu Version: 16.04.1
Apache Version: 2.4.18
PHP Version: 7.0.22
Joomla Version: 3.7.5

+1

Pour le dépannage, essayez ces possibilités séparément. 1. Vérifiez la configuration globale de Joomla montrant SEF avec réécriture activée dans configuration.php. 2.Commentez les #Options + FollowSymLinks, 3) utilisez un site Web de vérificateur de redirection pour voir s'il détecte quelque chose de louche – YellowWebMonkey

+0

Avait déjà essayé les options que vous avez fournies mais votre commentaire m'a fait lui donner encore un aller et la solution 2 l'a fixée. Merci! –

Répondre

0

Il y a quatre étapes si vous voulez avoir URL SEF dans Joomla sur un serveur Ubuntu avec Apache   2+. Peut-être que certains d'entre eux sont déjà terminés mais je veux les mettre tous ici.

Je suppose que vous avez un accès sudo à votre serveur, autrement votre fournisseur d'hébergement doit faire les deux premières étapes.

  1. Activation mod_rewrite sur Apache sudo a2enmod rewrite && sudo systemctl restart apache2

  2. Permettre rewrite pour votre VirtualHost

    <Directory "/var/www/path/to/public"> 
        AllowOverride All 
    </Directory> 
    

    Si cette étape est manquante, rien dans votre fichier .htaccess fonctionnera. Si vous avez déjà un Directory-Direktive il suffit d'ajouter AllowOverride All Vous voudrez peut-être restreindre cela plus tard, mais juste pour tester TOUS serait bon. Renommez le Joomla htaccess.txt en .htaccess. Habituellement, vous n'avez pas besoin de changer ce fichier, utilisez simplement celui d'origine et renommez-le.

  3. Activer SEF dans Joomla! Connectez-vous en tant que superutilisateur Joomla et accédez à la Konfiguraton Joomla System e.g. http://www.example.com/administrator/index.php?option=com_config. Sur le côté droit, vous devez activer les deux premières options (URL SEF et URL Rewite)

Vous devriez maintenant avoir des URL SEF sans index.php