Autor | Zpráva | ||
---|---|---|---|
Cody Profil |
#1 · Zasláno: 20. 7. 2012, 10:47:36 · Upravil/a: Moderátor (editace znemožněna) 20. 7. 2012, 14:22:43
Mám problém s nastavní přesměrování v .htaccess. Předně jsem v tomto naprostý začátečník a většinou jsem to řešil tak, že jsme to dokoukal a pok použil. Bohužel tentokrát jsme nepřišel na to jak přesměrovat neexistující stránky na nové.
Potřebuji toto: Přesměrovat tyro stránky přes 301 na nové www.domena.cz/?page=DH/index.php na hlavní stránku www.domena.cz/
www.domena.cz/?page=DH/detail.php na www.domena.cz/tkanove-soli
Zároveň mám na webu nainstalované CMS CMS Made Simple a to má v .htaccess nějaké zápisy pro hezké URL, který tam musí zůstat. Měl jsem v .htaccess tento zápis (přesměrování nefungovalo) RewriteEngine on RewriteBase / RewriteRule \?page=DH/index\.php index.php [R=301] RewriteRule \?page=DH/detail\.php tkanove-soli [R=301] RewriteCond %{REQUEST_URI} !/$ RewriteCond %{REQUEST_URI} !\. RewriteCond %{REQUEST_METHOD} !POST$ RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?page=$1 [QSA] Poté co jsem nenašel odpověď na stránce nápovědy Wedosu mi "odborník" ze zákaznické podpory upravil .htaccess takto (po této úpravě přesměrování taky nefungovalo a navíc přestaly fungovat přesměrované hezké URL v rámci CMS): #Options +FollowSymLinks RewriteEngine on RewriteBase / ###Pridano WEDOS #Jen obycejne presmerovani RewriteRule pokus\.php /tkanove-soli/ [R=301,L] #To co jste pozadoval #RewriteCond %{QUERY_STRING} ^([^=]+)=([^&]+) #RewriteRule ^$ /kamsmerovat/%1/%2 RewriteCond %{QUERY_STRING} DH/detail.php RewriteRule ^$ /tkanove-soli/ [L] RewriteCond %{QUERY_STRING} DH/index.php RewriteRule ^$ http://www.duhovahvezda.cz/? [R=301,L] # Priklad na slovo WEDOS RewriteCond %{QUERY_STRING} DH/wedos.php RewriteRule ^$ http://www.wedos.cz/? [R=301,L] ### Konec testu WEDOS ## Nasledujici jsou zakomentovane WEDOS. Odstrante # #RewriteCond %{REQUEST_URI} !/$ #RewriteCond %{REQUEST_URI} !\. #RewriteCond %{REQUEST_METHOD} !POST$ #RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L] ## Rewrites urls in the form of /parent/child/ ## but only rewrites if the requested URL is not a file or directory #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d #RewriteRule ^(.+)$ index.php?page=$1 [QSA] ## Konec zakomentovanych radku WEDOS. Odstrante # Proto jsme odstranil jeho komentáře, aby alespoň web fungoval. Ale stále nevím jak udělat to přesměrování. .htaccess aktuálně vypadá takto. #Options +FollowSymLinks RewriteEngine on RewriteBase / ###Pridano WEDOS #Jen obycejne presmerovani RewriteRule pokus\.php /tkanove-soli/ [R=301,L] #To co jste pozadoval #RewriteCond %{QUERY_STRING} ^([^=]+)=([^&]+) #RewriteRule ^$ /kamsmerovat/%1/%2 RewriteCond %{QUERY_STRING} DH/detail.php RewriteRule ^$ /tkanove-soli/ [L] RewriteCond %{QUERY_STRING} DH/index.php RewriteRule ^$ http://www.duhovahvezda.cz/? [R=301,L] # Priklad na slovo WEDOS RewriteCond %{QUERY_STRING} DH/wedos.php RewriteRule ^$ http://www.wedos.cz/? [R=301,L] ### Konec testu WEDOS ## Nasledujici jsou zakomentovane WEDOS. Odstrante # RewriteCond %{REQUEST_URI} !/$ RewriteCond %{REQUEST_URI} !\. RewriteCond %{REQUEST_METHOD} !POST$ RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L] ## Rewrites urls in the form of /parent/child/ ## but only rewrites if the requested URL is not a file or directory RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?page=$1 [QSA] ## Konec zakomentovanych radku WEDOS. Odstrante # Dokážete mi prosím poradit, jak nastavit správně přesměrování? |
||
Kajman Profil |
#2 · Zasláno: 20. 7. 2012, 12:40:08
Zkuste na začátek pravidel toto
RewriteBase / RewriteCond %{QUERY_STRING} page=DH/detail\.php RewriteCond %{ENV:REDIRECT_STATUS} ="" RewriteRule ^(index\.php)?$ tkanove-soli/? [L,R] RewriteCond %{QUERY_STRING} page=DH/index\.php RewriteCond %{ENV:REDIRECT_STATUS} ="" RewriteRule ^(index\.php)?$ /? [L,R] |
||
Cody Profil |
#3 · Zasláno: 20. 7. 2012, 13:01:37
Díky už funguje přesměrování z www.duhovahvezda.cz/?page=DH/index.php na wwwduhovahvezda.cz, ale stále www.duhovahvezda.cz/DH/detail.php na http://www.duhovahvezda.cz/tkanove-soli/ nefunguje - klasická 404.
|
||
Kajman Profil |
To bude tím, že jste v první příspěvku žádal o přesměrování z
ww>w.domena.cz/?page=DH/detail.php Pro novou zmíněnou adresu bez otazníku to bude jednoduché... RewriteRule ^DH/detail\.php$ tkanove-soli/ [L,R] |
||
Cody Profil |
Kajman:
Pravda, moje chyba! Nyní už to funguje skvěle, díky! |
||
Časová prodleva: 11 let
|
0