routovani v sub adresari s nette
- vlkodlak
- Člen | 175
Zdravím
mám web / intranet
http://mujintranet
postaveny na nějaké koupené html šabloně
vytvořil jsem si podsložku
http://mujintranet/administrace
a teď pokud napíši
http://mujintranet/administrace
bych očekával, že se mi spustí nette a ono se mi napíše „Objekt
nenalezen!“
a jsem přesměrován na http://mujintranet/…race/sing/in s tím, že ve složce
temp vygenerované soubory bez složky latte
pokud, ale změním
http://mujintranet/administrace/www
tak již vidím šablonu i vše funguje, jsem přesměrován na http://mujintranet/…/www/sing/in
Jak lze upravit rotovaní nebo .htaccess aby v adrese nebylo to WWW?
- vlkodlak
- Člen | 175
dakur napsal(a):
Těžko říct. 🤷♂️ Kde je document root webserveru? Jak vypadá router? Jak vypadá .htaccess? „Objekt nenalezen“ zní jako hláška web serveru, ne Nette, ale nevím, proč by to někam přesměrovávalo.
to je to že nic zvláštního
RouterFactory.php – ten se neměnil
public static function createRouter(): RouteList
{
$router = new RouteList;
//$router->addRoute('sign/in', 'Sign:in');
$router->addRoute('<action>', 'Homepage:timesheet');
$router->addRoute('<presenter>/<action>', 'Homepage:timesheet');
return $router;
}
.htaccess v rootu – tady jsem odmazal jen jedno lomítko „RewriteRule ^$ www/ [L]“ oproti původnímu
RewriteEngine On
RewriteRule ^$ www/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/www/
RewriteRule ^(.*)$ /www/$1
<IfModule mod_headers.c>
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires 0
</IfModule>
a .htaccess ve WWW složce ten se nemenil
# Apache configuration file (see https://httpd.apache.org/docs/current/mod/quickreference.html)
Require all granted
# disable directory listing
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
# use HTTPS
# RewriteCond %{HTTPS} !on
# RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\.(?!well-known/) - [F]
# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|mjs|ico|gif|jpg|jpeg|png|webp|svg|css|rar|zip|7z|tar\.gz|map|eot|ttf|otf|woff|woff2)$ index.php [L]
</IfModule>
# enable gzip compression
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/xml image/svg+xml
</IfModule>
</IfModule>
- vlkodlak
- Člen | 175
dekuji vám @dakur, @Šaman
JEN INFO:
nakonec pomohlo jen odstraněni lomítek u /www/ na www/ v .htaccessu
RewriteEngine On
RewriteRule ^$ www/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^www/
RewriteRule ^(.*)$ www/$1
<IfModule mod_headers.c>
Header set Cache-Control „no-cache, no-store, must-revalidate“
Header set Pragma „no-cache“
Header set Expires 0
</IfModule>
Editoval vlkodlak (14. 5. 2021 10:32)