Nefunkční hezké url – ceskyhosting + zapnutí https
- quiced
- Člen | 85
Zdravím,
měl bych hned dva dotazy týkající se routování. První se týká hezkých URL, které se mi nedaří zprovoznit. Prohledal jsem celé fórum, vyzkoušel spousty verzí htaccessu, které jsem našel v diskuzích, ale nic mi hezké URL adresy nezprovoznilo. Hosting mám u českého hostingu. Htaccess který přesměrovává do složky /www funguje, ale ten ve složce www pravděpodobně ne. Zde je můj boostrap.php:
<?php
use Nette\Application\Routers\Route,
Nette\Application\Routers\RouteList,
Nette\Application\Routers\SimpleRouter;
require __DIR__ . '/../vendor/autoload.php';
$configurator = new Nette\Configurator;
$configurator->setDebugMode(true); // enable for your remote IP
$configurator->enableDebugger(__DIR__ . '/../log');
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
->addDirectory(__DIR__)
->register();
$configurator->addConfig(__DIR__ . '/config/config.neon');
$container = $configurator->createContainer();
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
$router = $container->getService('router');
$router[] = new Route('index.php', 'Front:Default:default', Route::ONE_WAY);
$router[] = $adminRouter = new RouteList('Cron');
$adminRouter[] = new Route('cron/<presenter>/<action>', 'Default:default');
$router[] = $checkerRouter = new RouteList('Checker');
$checkerRouter[] = new Route('checker/<presenter>/<action>', 'Dashboard:default');
$router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', 'Default:default');
} else {
$container->addService('router', new SimpleRouter('Front:Front:default'));
}
return $container;
Pokud by mi někdo dokázal pomoct bylo by to super.
Měl bych ještě druhý dotaz ohledně zapnutí HTTPS. Mám na webu nainstalovaný certifikát a když na web přijdu přes https:// tak vše funguje. Ale když v bootstrap.php přidám k routám
Route::SECURED
tak se nic nestane a web ani po smazání cachů jede přes http. Dokázal by mi někdo pomoc jak https zapnout aby to fungovalo.
Díky za rady.
- enumag
- Člen | 2118
Jak tam máš tu podmínku tak se evidentně použije else větev. Tedy mod_rewrite není zapnutý nebo to PHP nedokáže správně detekovat. Tohle způsobuje oba uvedené problémy.
Nejdříve bych zkusil smazat tu podmínku i celou else větev a zkusil co to udělá. Pokud to nebude fungovat tak doporučuju napsat na podporu.