Ceci devrais faire l'affaire :
<Directory /var/www/html>
# Allow from all
Order deny,allow
Allow from all
# Allow index and symlink
Options Indexes SymLinksifOwnerMatch
# Deny .htaccess
AllowOverride None
# Rewrite url
<IfModule mod_rewrite.c>
RewriteEngine On
# redirige toutes les requêtes non /robots.txt, non /admin.*
# et pas existant sur index.php
RewriteCond %{REQUEST_URI} !^/admin
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.* index.php [L]
# redirige toutes les requêtes commençant pas /admin vers ce rep
RewriteCond %{REQUEST_URI} ^/admin
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.* admin/index.php [L]
</IfModule>
</Directory>
Par contre fait gaffe, ton site pourra plus utiliser certaines variable de $_SERVER, tu va devoir reparser seul le $_SERVER['REQUEST_URI'], mais c'est facile.
[^] # Re: URL qui contient /
Posté par Raphaël G. (site web personnel) . En réponse au message Htaccess - Ne doit pas contenir /. Évalué à 2.
<Directory /var/www/html>
# Allow from all
Order deny,allow
Allow from all
# Allow index and symlink
Options Indexes SymLinksifOwnerMatch
# Deny .htaccess
AllowOverride None
# Rewrite url
<IfModule mod_rewrite.c>
RewriteEngine On
# redirige toutes les requêtes non /robots.txt, non /admin.*
# et pas existant sur index.php
RewriteCond %{REQUEST_URI} !^/admin
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.* index.php [L]
# redirige toutes les requêtes commençant pas /admin vers ce rep
RewriteCond %{REQUEST_URI} ^/admin
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.* admin/index.php [L]
</IfModule>
</Directory>
Par contre fait gaffe, ton site pourra plus utiliser certaines variable de $_SERVER, tu va devoir reparser seul le $_SERVER['REQUEST_URI'], mais c'est facile.