Zadejte hledaný výraz...

Přesměrování a tvar URL v htaccess

saMcz
verified
rating uzivatele
(4 hodnocení)
15. 3. 2014 21:50:57
Ahoj,
řeším problém s .htaccess a už jsem vážně v koncích, nic co jsem na netu našel nepomáhá, řeším konkrétně:
01) Vyřešit přesměrování staré adresy na novou
02) Zajistit, aby na konci každé URL bylo lomítko "/" i pokud se zadá bez něj, aby se doplnilo
03) Aby měla URL na začátku www (což se mi podařilo)
Ten kdo mi jako první pomůže vyřešit nabízím 200Kč na účet jako symbolickou odměnu za čas
Aktuálně můj .htaccess vypadá takto:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
# redirect-url
RewriteCond %{HTTP_HOST} ^domena.cz/stara-url$
RewriteCond %{HTTP_HOST} ^www.domena.cz/stara-url$
RewriteRule (.*)$ http://www.domena.cz/nova-url/$1
# non-www to www
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1
RewriteBase /
# default rewrite
RewriteRule ^.*/(.*).html$ /$1/
RewriteCond %{REQUEST_FILENAME} -s
RewriteCond %{REQUEST_FILENAME} -l
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ -
RewriteRule ^.*$ index.php
Všem předem děkuji za pomoc.
saM
15. 3. 2014 21:50:57
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005738
Zkus toto a kdyby něco nefungovalo, dej vědět:
Trailing backslash:
A nebo:
Staré URL na nové, na to potřebuješ znát vzor, který překlápíš na novou verzi a změny, které v něm jsou. Pokud jde o ponechání všech URL stejně, pouze na nové doméně, pak:
15. 3. 2014 22:03:07
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005737
saMcz
verified
rating uzivatele
(4 hodnocení)
15. 3. 2014 22:28:43
Filipe díky za info, lomítko se již doplňuje, homepage funguje, ale ostatní podstránky píšou chybu:
Not Found
The requested URL /domains/domena.cz/podstranka/ was not found on this server.
Přesměrování je pouze v rámci jedné domény, jedná se o podstránky - po úpravě stále nefunguje.
.htaccess nyní vypadá takto:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !index.php
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://domena.cz/$1/
# non-www to www
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1
# redirect-url
RewriteCond %{HTTP_HOST} ^domena.cz/stara-url$
RewriteCond %{HTTP_HOST} ^www.domena.cz/stara-url$
RewriteRule ^(.*)$ http://www.domena.cz/nova-url/$1
Díky.
saM
15. 3. 2014 22:28:43
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005736
Tedy nefunguje část:
Je to tak? Pokud ano, zkuste to takhle:
Pokud jde tedy o pár URL. Pokud to jde hromadně, tak potřebuji lepší definici problému.
15. 3. 2014 22:35:04
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005735
saMcz
verified
rating uzivatele
(4 hodnocení)
15. 3. 2014 23:02:48
PM
15. 3. 2014 23:02:48
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005734
tomve
verified
rating uzivatele
(22 hodnocení)
15. 3. 2014 23:13:42
Zrovna to mi taky nefunguje
Redirect 301 /stara-url http://www.domena.cz/nova-url/
15. 3. 2014 23:13:42
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005733
saMcz
verified
rating uzivatele
(4 hodnocení)
15. 3. 2014 23:28:30
Napsal Tomve;1067819
Zrovna to mi taky nefunguje
Redirect 301 /stara-url http://www.domena.cz/nova-url/
Tohle mi také nefunguje :)
15. 3. 2014 23:28:30
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005732
Luděk Kvapil
verified
rating uzivatele
15. 3. 2014 23:52:36
Redirect 301 funguje, pouze když existuje stará adresa.. Pokud URL /stara-url už neexistuje, tak se to nepřesměruje.
Musí to jít přes RewriteRule
15. 3. 2014 23:52:36
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005731
Napsal siva01;1067824
Redirect 301 funguje, pouze když existuje stará adresa.. Pokud URL /stara-url už neexistuje, tak se to nepřesměruje.
Musí to jít přes RewriteRule
RewriteRule tam byl původně a stará URL existovala - proto jsem zkoušel Redirect 301. V současnosti jsem dostal přístup do FTP a je vyřešeno. Problém byl v tom, že ten původní RewriteRule se tloukl s jiným pravidlem.
Tomve: Ten kód, co jsem ti posílal v Htaccess a 301
https://webtrh.cz/259303-htaccess-301 jsi zkoušel? Případně co na něm nefunguje? (možná raději PM nebo původní vlákno, ať zde nespamujeme)
16. 3. 2014 10:02:02
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005730
saMcz
verified
rating uzivatele
(4 hodnocení)
16. 3. 2014 14:35:40
Správné řešení pro přesměrování starých URL je pro tento případ:
RewriteRule ^stara-podstranka
301 Moved Permanently
http://www.domena.cz/nova-podstranka
RewriteRule ^(.*)/$ /$1
Díky Filipe za pomoc.
saM
16. 3. 2014 14:35:40
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005729
saMcz
verified
rating uzivatele
(4 hodnocení)
16. 3. 2014 14:35:55
Správné řešení pro přesměrování starých URL je pro tento případ:
RewriteRule ^stara-podstranka
301 Moved Permanently
http://www.domena.cz/nova-podstranka
RewriteRule ^(.*)/$ /$1
Díky Filipe za pomoc.
saM
16. 3. 2014 14:35:55
https://webtrh.cz/diskuse/presmerovani-a-tvar-url-v-htaccess#reply1005728
Pro odpověď se přihlašte.
Přihlásit