Proč Nette přesměrovává z example.com na www.example.com?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- tajo
- Člen | 20
Mým cílem je používat všude pouze variantu http://example.com (bez lomítka na konci) a přesměrovávat na ní z http://www.example.com, ale Nette mi dělá přesný opak a nevím proč.
Můj htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\. - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>
...
Můj router:
$router = new RouteList();
$router[] = new Route('index.php', 'Front:Default:default', Route::ONE_WAY);
$adminRouter = new RouteList('Admin');
$adminRouter[] = new Route('admin/<presenter>/<action>[/<id>]', 'Default:default');
$router[] = $adminRouter;
$frontRouter = new RouteList('Front');
$frontRouter[] = new Route('en/<presenter>/<action>[/<id>]', 'Default:default', Route::ONE_WAY);
$frontRouter[] = new Route('[<lang [a-z]{2}>/]<presenter>/<action>[/<id>]', 'Default:default');
$router[] = $frontRouter;
return $router;
Zkusil jsem tedy upravit nejdříve htaccess na:
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^.*$ http://example.com/$0 [R=301,NE,L]
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\. - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>
...
⇒ Redirect Loop
Tak jsem našel na fóru řešení pomocí routy
$router = new RouteList();
$router[] = new Route('index.php', 'Front:Default:default', Route::ONE_WAY);
$router[] = new Route("//[www!].example.com", "Homepage:default", Route::ONE_WAY);
...
A voalá pro www.example.com opět vede na Redirect Loop.
Co dělám špatně?
Díky
Editoval tajo (3. 4. 2013 8:57)
- tajo
- Člen | 20
Požadavek a odpověď:
GET / HTTP/1.1
Host: fundchaser.cz
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP/1.1 301 Moved Permanently
Date: Wed, 03 Apr 2013 21:38:47 GMT
Server: Apache
Location: http://www.fundchaser.cz/
Content-Length: 233
Connection: close
Content-Type: text/html; charset=iso-8859-1
Takže hádám, že je načase napsat blueboardu?