J'ai configuré un hôte virtuel sur ma machine locale et tout fonctionne correctement. Maintenant, je veux utiliser des URL conviviales pour le référencement. Pour ce faire, j'ai utilisé le fichier .htaccess.
La configuration de mon hôte virtuel est:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/ypp"
ServerName ypp.com
ServerAlias www.ypp.com
##ErrorLog "logs/dummy-Host2.localhost-error.log"
##CustomLog "logs/dummy-Host2.localhost-access.log" combined
</VirtualHost>
et mon fichier .htaccess a:
AllowOverride All
RewriteEngine On
RewriteBase /ypp/
RewriteRule ^/browse$ /browse.php
RewriteRule ^/browse/([a-z]+)$ /browse.php?cat=$1
RewriteRule ^/browse/([a-z]+)/([a-z]+)$ /browse.php?cat=$1&subcat=$2
Le paramètre .htaccess ci-dessus ne fonctionne pas. Après cela, j'ai modifié les paramètres de mon hôte virtuel et cela fonctionne. Le nouveau paramètre d'hôte virtuel est le suivant:
<VirtualHost *:80>
RewriteEngine On
RewriteRule ^/browse$ /browse.php
RewriteRule ^/browse/([a-z]+)$ /browse.php?cat=$1
RewriteRule ^/browse/([a-z]+)/([a-z]+)$ /browse.php?cat=$1&subcat=$2
ServerAdmin [email protected]
DocumentRoot "C:/xampp/htdocs/ypp"
ServerName ypp.com
ServerAlias www.ypp.com
##ErrorLog "logs/dummy-Host2.localhost-error.log"
##CustomLog "logs/dummy-Host2.localhost-access.log" combined
<Directory "C:/xampp/htdocs/ypp">
AllowOverride All
</Directory>
</VirtualHost>
S'il vous plaît laissez-moi savoir où je me trompe dans le fichier .htacess pour la réécriture d'URL. Je ne souhaite pas utiliser les paramètres de l'hôte virtuel, car pour chaque modification, je redémarre Apache.
Vous devez mettre AllowOverride All
dans votre section <Directory/>
de la configuration du serveur.
Les seuls fichiers de configuration Apache pouvant autoriser des options sont ceux qui se trouvent directement sur le serveur (fichier principal, virtualhost, etc.).
Le fichier .htaccess ne peut que supprimer remplacer les droits.
C'est:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/ypp"
ServerName ypp.com
ServerAlias www.ypp.com
##ErrorLog "logs/dummy-Host2.localhost-error.log"
##CustomLog "logs/dummy-Host2.localhost-access.log" combined
<Directory "C:/xampp/htdocs/ypp">
AllowOverride All
</Directory>
</VirtualHost>
et le fichier .htaccess:
RewriteEngine On
RewriteBase /ypp/
RewriteRule ^/browse$ /browse.php
RewriteRule ^/browse/([a-z]+)$ /browse.php?cat=$1
RewriteRule ^/browse/([a-z]+)/([a-z]+)$ /browse.php?cat=$1&subcat=$2