J'ai la logique de réécriture suivante dans mon vHost et tout semble fonctionner en ce qui concerne la redirection des sous-domaines, mais dès que j'ajoute un chemin à l'URI, j'obtiens une erreur dans mon apache_error.log.Réécriture de la logique?
Voici la logique de réécriture:
RewriteEngine On
# Remove the www alias
RewriteCond %{HTTP_HOST} ^www\.13labs\.net$ [NC]
RewriteRule ^(.+)$ http://13labs.net$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^.+$
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf)$ [OR]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule^- [L]
RewriteCond %{HTTP_HOST} !^www\.13labs\.net$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.13labs\.net$ [NC]
RewriteRule ^(.+)$ /index.php?subdomain=%2&kohana_uri=$1 [PT,L,QSA]
RewriteRule ^(.+)$ /index.php?kohana_uri=$1 [PT,L,QSA]
Je suis en train de frapper admin.13labs.net/login, qui devrait être en train de réécrire à 13labs.net/index.php?subdomain=admin & kohana_uri =/s'identifier. Cependant, dans mon apache_error.log je reçois ce qui suit:
[Mon Aug 30 23:56:06 2010] [error] [client 74.63.151.37] File does not exist: /var/www/13labs.net/html/login
Des indices? J'ai joué avec ce pendant environ une heure maintenant et je suis déconcerté ...
Cordialement, Andrew
On dirait que le [OR] doit rester, mais le! besoin d'aller. Cela a fonctionné: RewriteCond% {REQUEST_URI} ^. + $ RewriteCond% {REQUEST_FILENAME} \. (Gif | jpe? G | png | js | css | swf | php | ico | txt | pdf) $ [OR] RewriteCond% {REQUEST_FILENAME} -f [OR] RewriteCond% {REQUEST_FILENAME} -d [OR] RewriteCond% {REQUEST_FILENAME} -l RewriteRule^- [L] –