PártyObličej.cz - malování na obličej • Prodej celého projektu vč. kompletního vybavení • Možnost okamžitě začít s podnikáním
Zobrazují se odpovědi 1 až 6 z 6

Htaccess - přesměrování starých adress

  1. Ahoj,

    mohl by mi někdo poradit se správným nastavením .htaccess pro přepsání starých url na nové?

    např. Potřebuji přepsat /cz/reservation na /cz/kontakt ale výsledek je následující /cz/kontakt?page=cz/reservation

    .httaccess
    Kód:
    RewriteEngine on
    Options -Indexes
    
    # Add www
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    
    #pokud je to zanorene v nejakem adresari, uvedte ho za /
    RewriteBase /   
            
    # Remove index.php?page=
    RewriteCond %{ENV:REDIRECT_STATUS} =""
    RewriteCond %{QUERY_STRING} ^page=([^&]+)
    RewriteRule ^/?index\.php$ http://%{HTTP_HOST}/%1? [L,R=301]
    
    # Redirection
    RewriteRule ^/cz/reservation$ /cz/kontakt [L,R=301]
    #Redirect 301 /cz/reservation /cz/kontakt
    
    #Ignor the real folders
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    
    # Exclude URLs
    RewriteCond %{REQUEST_URI} !^/sitemap.xml$
    
    RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]
    Díky moc
    P.

  2. Co se právě děje na Webtrhu?
    Matěj Plšek poptává: Návrh plošných spojů
    Eliaš - IT Solutions poptává: Hľadám asap Fullstack vývojára - Laravel + React js
    SMALL poptává: Hladam programatora/ku z Prahy
  3. No ja bych to zkusil

    # redirects:

    <IfModule mod_alias.c>

    Redirect 301 /cz/reservation https://www.domena.cz/cz/kontakt

    </IfModule>

    nebo to takto aspon delam ja

  4. Zkus prohodit pravidla
    Kód:
    RewriteEngine on
    Options -Indexes
    
    # Add www
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    
    #pokud je to zanorene v nejakem adresari, uvedte ho za /
    RewriteBase /   
    
    # Redirection
    RewriteRule ^/cz/reservation$ /cz/kontakt [L,R=301]
    #Redirect 301 /cz/reservation /cz/kontakt
            
    # Remove index.php?page=
    RewriteCond %{ENV:REDIRECT_STATUS} =""
    RewriteCond %{QUERY_STRING} ^page=([^&]+)
    RewriteRule ^/?index\.php$ http://%{HTTP_HOST}/%1? [L,R=301]
    
    
    #Ignor the real folders
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    
    # Exclude URLs
    RewriteCond %{REQUEST_URI} !^/sitemap.xml$
    
    RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]

  5. Díky za reakce... obojí jsem již zkoušel, ale stále stejný výsledek... :(

  6. odstraň úvodní lomítko, není součástí requestu, který se matchuje, tj.

    Kód:
    RewriteRule ^cz/reservation$ /cz/kontakt [L,R=301]
    Pozor, ale např. u REQUEST_URI (použité s sitemap.xml) je uvedeno správně, kdyby tě napadlo tohle také přepsat. Je to tím, že používáš pravidlo přímo v RewriteRule. Aby, se ti to do budoucna nepletlo, můžeš tohle přesměrování přepsat na stejnou syntaxi jako u sitemap:

    Kód:
    RewriteCond %{REQUEST_URI} ^/cz/reservation$
    RewriteRule .* /cz/kontakt [L,R=301]

  7. Super, bez lomítka to funguje tak jak má. Taková hloupost.
    Díky moc

Hostujeme u Server powered by TELE3