Redirect na WWW v htaccess změní URL

UnkownNick
Člen | 11
+
0
-

Zdravím, řeším následující problém,
potřebuji cestu striktně změnit na tvar: www.domena.cz

v HTACCESS:

RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

K podstrčení podle konzole v základním tvaru domény dochází správně, problém nastává ve chvíli, když se snažím napřiklad z odkazu jinde na netu, dostat na stránku k nějaké konkrétní zanořenější stránce například:

Přitom bych očekával, že tedy vezme celou request_uri a jen ji portne na WWW.

Nevím kde by mohla být chyba, zkoušel sem různé tvary zápisu RewriteCond a RewriteRule, ale nic nepomohlo. Nemůže do toho šahat nějak samotné conditions Nette v HTACCESSU?

RewriteEngine je 100% zaplej a funguje správně, jak říkám, problém nástavá až na delší URL, tam ji nepřesměruje správně a celou.

tomino
Člen | 14
+
0
-

ja to pouzivam takto a bez problemov:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

UnkownNick
Člen | 11
+
0
-

tomino napsal(a):

ja to pouzivam takto a bez problemov:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ahoj, vyzkoušel sem a to samé, skončím na www.domena.cz/index.php 404 error, fakt už nevím :D

tomino
Člen | 14
+
0
-

A nepresmeruje ti to PHP kod? Si si isty, ze to robi .htaccess?

UnkownNick
Člen | 11
+
0
-

tomino napsal(a):

A nepresmeruje ti to PHP kod? Si si isty, ze to robi .htaccess?

Když odstraním direktivu v HTACCESSU a vymažu cache prohlížeče tak link bez www funguje správně, pokud jí tam vrátím, opět to padá na 404ku. Tedy bych řekl, že k přesměrování, respektive k špatnému přesměrování musí docházet na HTACCESS, protože bych jinak musel psát podmínku, která platí jen ve chvíli kdy v URL není www, aby došlo k přesměrování na index.php, navíc na redirect v nette používám router, a ten by mě na tuhle adresu nedostal. Pošlu celý obsah .htaccess který je ve složce /www, to je další věc … máš tohle nastavené v tomhle .htaccessu? /www/.htaccess:

# Apache configuration file (see https://httpd.apache.org/docs/current/mod/quickreference.html)
Allow from all

# disable directory listing
<IfModule mod_autoindex.c>
	Options -Indexes
</IfModule>

# enable cool URL
<IfModule mod_rewrite.c>
	RewriteEngine On
	# RewriteBase /

	# 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|ico|gif|jpg|png|css|rar|zip|tar\.gz|map)$ index.php [L]

	RewriteCond %{HTTP_HOST} !^www\.
	RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</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>

Editoval UnkownNick (1. 3. 2019 11:45)