![]() |
![]() |
|
Serverske aplikacije i baze podataka PHP, Perl, ASP, ASP .NET, ColdFusion... MySQL, PostgreSQL, MSQL, Oracle... |
![]() |
|
Alatke vezane za temu | Vrste prikaza |
![]() |
#1 |
Veteran
Član od: 4.12.2005.
Poruke: 1.180
Zahvalnice: 50
Zahvaljeno 214 puta na 130 poruka
|
![]()
Stari sajt je imao kontakt.php stranu, novi sajt ima anchor unutar uvodne strane #CONTACT gde su kontakt podaci.
Kada pokušam da izvršim redirekciju na ovaj (ili bilo koji drugi način) dobijam internal server error: RewriteRule /kontakt\.php$ /index.php?lang=sr#CONTACT [NE, L] Dakle, problem sa znakom "#". Ima li neko ideju kako da to odradim, ali mora da bude anchor #CONTACT. Ne mogu da menjam u nešto tipa &id=contact ili slično. Poslednja ispravka: dbaja (7.9.2016 u 20:29) |
![]() |
![]() |
![]() |
#2 |
Veteran
Član od: 4.12.2005.
Poruke: 1.180
Zahvalnice: 50
Zahvaljeno 214 puta na 130 poruka
|
![]()
Nađoh nešto što delimično rešava stvar:
RewriteRule kontakt\.php$ /index.php#CONTACT [R=301,NC,L,NE] Ali, meni konkretno treba: kontakt.php?lang=sr -> /index.php?lang=sr#CONTACT kontakt.php?lang=en -> /index.php?lang=en#CONTACT E sad, to sa lang parametrom mi je sledećea muka... |
![]() |
![]() |
![]() |
#3 |
Veteran
Član od: 4.12.2005.
Poruke: 1.180
Zahvalnice: 50
Zahvaljeno 214 puta na 130 poruka
|
![]()
Kad nema nikoga, mora čovek sam da se lati rešavanja.
Evo, isprobao sam ovako: RewriteRule ^kontakt\.php$ /index.php#CONTACT [R=301,NC,L,NE] RewriteRule ^kontakt\.php\?lang\=(sr|en)$ /index.php?lang=$1#CONTACT [NE,R] --- Međutim, prva redirekcija (bez parametara) radi. Ali druga varijanta kao rezultat daje pretumbane parametre i ne funkcioniše ispravno: Dobijem rezultat: www.domen.co.rs/index.php#CONTACT?lang=sr NEVEROVATNO, ali nigde ne uspevam da nađem bilo kakve informacije o ovakvim slučajevima. Poslednja ispravka: dbaja (8.9.2016 u 11:32) |
![]() |
![]() |
![]() |
#4 | ||
Veteran
Član od: 5.11.2005.
Poruke: 822
Zahvalnice: 177
Zahvaljeno 197 puta na 152 poruka
|
![]()
Ne mozes ovako da pises RewriteRule, jer se ono odnosi samo na deo do pocetka query stringa.
Citat:
Kod:
RewriteCond %{QUERY_STRING} Citat:
Kod:
RewriteRule ^kontakt\.php$ /index.php#CONTACT [NE,R=301] kontakt.php?lang=sr -> index.php?lang=sr#CONTACT kontakt.php?lang=en -> index.php?lang=en#CONTACT kontakt.php?lang=en&foo=bar -> index.php?lang=en&foo=bar#CONTACT NE (no escape) flag ti treba zbog "#" karaktera. Poslednja ispravka: Remedy (8.9.2016 u 15:25) |
||
![]() |
![]() |
![]() |
#5 |
Veteran
Član od: 4.12.2005.
Poruke: 1.180
Zahvalnice: 50
Zahvaljeno 214 puta na 130 poruka
|
![]()
Hvala Remedy na objašnjenju, nisam toliko zalazio u detalje, a do sada sam samo url-friendly linkove konvertovao u obične sa ?...&...&... parametrima, pa nisam ni imao priliku da vidim da to tako ne bi radilo.
Evo šta sam uradio i sada mi deluje da je sve ok: #za slučaj bez parametara RewriteRule ^kontakt\.php$ /index.php#CONTACT [R=301,NC,L,NE] #kada ima parametre sr/en RewriteCond %{REQUEST_URI} /kontakt\.php$ RewriteCond %{QUERY_STRING} ^lang=(sr|en)$ RewriteRule .* http://www.domen.co.rs/index.php?lang=%1#CONTACT [R=301,NE,L] Probaću ovo što si mi naveo u postu, jednostavnije je i lepše. Uh, ovo što si naveo daje mi isti onaj čudan rezultat: http://www.domen.co.rs/index.php#CONTACT?lang=sr |
![]() |
![]() |
![]() |
#6 | |
Veteran
Član od: 5.11.2005.
Poruke: 822
Zahvalnice: 177
Zahvaljeno 197 puta na 152 poruka
|
![]() Citat:
Dakle probano na Apache 2.4.7: Kod:
RewriteEngine On RewriteCond %{QUERY_STRING} ^(lang=(?:sr|en))?$ RewriteRule ^kontakt\.php$ /index.php?%1#CONTACT [NE,R=301] kontakt.php -> index.php?#CONTACT (ali ostaje znak pitanja pre #CONTACT, ne moze samo sa jednim RewriteRule bez toga) kontakt.php?lang=sr -> index.php?lang=sr#CONTACT kontakt.php?lang=en -> index.php?lang=en#CONTACT Samo pazi, ovo ti nece redirektovati npr kontakt.php?foo=bar, ili kontakt.php?lang=en&foo=bar. Ako ti treba jos paramatera u query stringu mora drugaciji regex (vazi i za regex koji si napisao u prethodnom postu). Poslednja ispravka: Remedy (8.9.2016 u 19:28) |
|
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Remedy na korisnoj poruci: | ||
dbaja (8.9.2016) |
![]() |
#7 |
Veteran
Član od: 4.12.2005.
Poruke: 1.180
Zahvalnice: 50
Zahvaljeno 214 puta na 130 poruka
|
![]()
Hvala na odgovoru!
Nema veze što neće odraditi redirekciju u nekom drugom slučaju, ovo sam postavio samo da mi Google Webmaster tool ne bi prijavljivao nepostojeću stranu jer je neko memorisao stari link ka kontakt strani pa ga je nedavno pozvao, a ta strana više ne postoji. Pozdrav. |
![]() |
![]() |
![]() |
Bookmarks sajtovi |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
![]() |
||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Windows 7 64bit mouse problem | MiljanX | Ostale komponente | 3 | 1.7.2014 14:36 |
Windows 8.1 i problem sa Nvidiom. Spasavajte! | Isko | Operativni sistemi | 11 | 8.3.2014 16:44 |
Problem sa pristupom https vezama | Miki2 | Operativni sistemi | 2 | 26.8.2013 10:04 |
Problem HDD Led Sija kao Sumanut (negasi se) | King SRB | Kvarovi | 19 | 10.7.2013 7:21 |
Problem sa zvukom - da li je do hardware-a ili nesto drugo? | FiresnakE | Kvarovi | 6 | 5.3.2010 12:08 |