Routa pomocí absolutního URL
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- koren
- Člen | 59
Ahoj.
Rád bych nastavil jazykovou verzi podle domény, a proto routuju pomocí absolutního URL. Z nějakého důvodu mi však nejde routovat na homepage neboli na úplně základní tvar domény (hlásí mi to smyčku přesměrování). Čím to může být? Druhá routa níže funguje bezvadně, ale ta první dělá problém…
$frontRouter[] = new Route('//[www.]domain.cz', array(
'presenter' => 'Default',
'action' => 'default',
'lang' => 'cs',
));
$frontRouter[] = new Route('//[www.]domain.cz/<id>', array(
'presenter' => 'Default',
'action' => 'page',
'lang' => 'cs',
));
- David Matějka
- Moderator | 6445
nemas nekde v htaccess nastaveny presmerovani mezi www a non-www verzi? jestli se to nepere s kanonikalizaci v nette..
- koren
- Člen | 59
.htaccess je pro mě pořád trochu magie, ale momentální stav uveden níže. Nemůže to taky být nějakými aliasy, které jsou nastavené u domény? Každopádně jsem zkusil i router bez těch nepovinných [www.], ale chová se to stejně…
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
# 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>
# enable gzip compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>
# allow combined JavaScript & CSS. Inside of script.combined.js you could use <!--#include file="script.js" -->
<IfModule mod_include.c>
<FilesMatch "\.combined\.(js|css)$">
#Options +Includes
#SetOutputFilter INCLUDES
</FilesMatch>
</IfModule>