Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Serwery WWW _ htaccess i doklejone zbędne parametry po przekierowaniu

Napisany przez: fud 4.07.2019, 15:13:03

Cześć mam mały problem i proszę o pomoc.
Otóż mój htaccess wygląda z grubsza tak

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^lubieto-([a-z0-9\-\_\.]+)(/[a-z0-9\-\_\.]+)?/?$ index.php?get_wizard=TRUE&kategoria=$1&group=$2 [NC]
RewriteRule ^([a-z0-9\-\_\,]+)/([a-z0-9\-\_,\/]+[^\/])/?$ index.php?get_object=TRUE&name=$2&kategoria=$1 [NC,L]

RewriteCond %{HTTP_HOST} ^mojastrona.pl [nc]
RewriteRule ^(.*)$ http://www.mojastrona.pl/$1 [r=301,nc]


I teraz gdy chcę zrobić przekierowanie dla pojedynczych podstron w prosty sposób np.
Redirect 301 /nazwa_kategorii/stara_strona /nazwa_kategorii/nowa_strona
lub
RedirectMatch 301 /nazwa_kategorii/stara_strona /nazwa_kategorii/nowa_strona

To po przekierowaniu dokleja mi parametry z drugiego RewriteRule i adres w przeglądarce wygląda tak
www.mojastrona.pl/nazwa_kategorii/nowa_strona?get_object=TRUE&name=nowa_strona&kategoria=nazwa_kategorii

Jak zrobić by w adresie nie pojawiało się ?get_object............

Napisany przez: trueblue 5.07.2019, 07:58:26

https://kawalekkodu.pl/jak-zgubic-ogon-czyli-query-string-i-htaccess

Napisany przez: fud 5.07.2019, 10:29:37

Dzięki trueblue.
Problem częściowo rozwiązała mi twoja podpowiedź.
Częściowo dlatego że teraz w linku doklejane jest tylko ?
czyli zamiast
www.mojastrona.pl/nazwa_kategorii/nowa_strona?get_object=TRUE&name=nowa_strona&kategoria=nazwa_kategorii
mam
www.mojastrona.pl/nazwa_kategorii/nowa_strona?
To znaczny postęp thumbsupsmileyanim.gif
przekierowanie robię tak
Redirect 301 /nazwa_kategorii/stara_strona /nazwa_kategorii/nowa_strona?

Może jak bym zrobił przekierowanie za pomocą RewriteRule to może było by dobrze.
Ale chyba tego nie potrafię bo nic mi nie działa albo sypie błędami.

Może jakaś podpowiedź jak zrobić proste przekierowanie za pomocą RewriteRule
Co wstawić przed RewriteRule.
Może co trzeba wpisać w RewriteCond.

Będę wdzięczy za sugestie.

Napisany przez: trueblue 6.07.2019, 12:25:27

Pokaż jak obecnie wygląda Twój .htaccess.

Napisany przez: fud 8.07.2019, 08:39:03

Dokładnie tak:


RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^lubieto-([a-z0-9\-\_\.]+)(/[a-z0-9\-\_\.]+)?/?$ index.php?get_wizard=TRUE&kategoria=$1&group=$2 [NC]
RewriteRule ^([a-z0-9\-\_\,]+)/([a-z0-9\-\_,\/]+[^\/])/?$ index.php?get_object=TRUE&name=$2&kategoria=$1 [NC,L]

RewriteCond %{HTTP_HOST} ^mojastrona.pl [nc]
RewriteRule ^(.*)$ https://www.mojastrona.pl/$1 [r=301,nc]

Redirect 301 /nazwa_kategorii/stara_strona /nazwa_kategorii/nowa_strona?


<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/jpg "access plus 30 days"
ExpiresByType image/svg+xml "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
ExpiresByType text/javascript "access plus 30 days"
ExpiresByType application/javascript "access plus 30 days"
ExpiresByType application/x-javascript "access plus 30 days"
ExpiresByType text/xml "access plus 60 minutes"
</IfModule>


<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Napisany przez: trueblue 8.07.2019, 09:48:12

Zamiast przekierowania wstaw 2 linijki:

Kod
RewriteCond %{REQUEST_URI} ^/nazwa_kategorii/stara_strona
RewriteRule .* /nazwa_kategorii/nowa_strona? [R=301]


Tyle, że to przekierowuje URL o dokładnie takiej postaci, czyli "nazwa_kategorii/stara_strona" na "nazwa_kategorii/nowa_strona".
Nie potrzebujesz tam realnych nazw kategorii?

Napisany przez: fud 8.07.2019, 10:52:58

Dużo tych przekierowań nie będę miał.
Na tą chwilę 3 ale za niedługo będzie ich z 15
No i za każdym razem "nazwa_kategorii" będzie inna.
np.
nazwa_kategorii
nazwa_kategorii1
nazwa_kategorii2
itd

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)