Bonjour.
Cela fait un moment que j’essaye de faire fonctionner les mod user_dir et url_rewriting sur apache2. Le mod user_dir fonctionne correctement. Voici le contenu du fichier /etc/apache2/mods-available/userdir.conf :
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
Options FollowSymLinks
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#<Limit GET POST OPTIONS>
# Order allow,deny
# Allow from all
#</Limit>
#<LimitExcept GET POST OPTIONS>
# Order deny,allow
# Deny from all
#</LimitExcept>
</Directory>
</IfModule>
J’ai besoin d’activer l’url rewriting pour un seul utilisateur. J’ai donc mis le fichier .htaccess dans le répertoire public_html de cet utilisateur. Voici le contenu de ce fichier :
<IfModule mod_rewrite.c>
RewriteEngine on
# Allow access to assets folder from plugins folders
RewriteRule ^app/plugins/(.+)/assets - [L]
# forbid access to files and folders under app
RewriteRule ^app/.*$ - [L,F]
# rewrite to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?action=$1 [L,QS$
</IfModule>
Le module url_rewriting est bien sûr activé sous apache :
sudo a2enmod userdir
Module userdir already enabled
Lorsque j’accède à index.php en faisant mon-adresse-ip/~nom-utilisateur/quelquechoses, j’obtient une erreur 404 :
The requested URL /home/nom-utilisateur/public_html/index.php was not found on this server.
Je sèche un peu, je suis tombé sur beaucoup de forum sur le net, mais ils ne proposent pas de solution satisfaisante à ce problème. Si quelqu’un pouvait m’éclairé, merci d’avance.