routovani v sub adresari s nette

vlkodlak
Člen | 175
+
0
-

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?

dakur
Člen | 493
+
+1
-

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.

Šaman
Člen | 2667
+
+1
-

Ještě to může odchytit htaccess v rootu toho /mujintranet

vlkodlak
Člen | 175
+
0
-

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
+
0
-

Šaman napsal(a):

Ještě to může odchytit htaccess v rootu toho /mujintranet

a máš prosím tip jak to správně napsat nebo nasměruješ mě prosím jak správně se zeptat strejdy Googla?

vlkodlak
Člen | 175
+
+1
-

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)

Šaman
Člen | 2667
+
+1
-

Super.
Btw. sorry že jsem předtím neodpověděl – zmínka mi vyskočí v upozornění, ale citace nikoliv. Nicméně do .htaccess stejně nevidím, většinou se snažím najít hotové řešení. Když už si ho nastuduju, tak ho pak pár let nepotřebuji a všechno zase zapomenu :)