![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 0 Dołączył: 25.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Chcę przeprowadzić prace remontowe na mojej stronie i mam teraz zrobione przekierowanie na plik informujący o przerwie...
RewriteEngine On RewriteCond $1 !^przerwa.html RewriteRule ^(.*)$ http://mojastrona.pl/przerwa.html [R=302,L] Jak wykluczyć z przekierowania moje IP ? Ten post edytował m72 10.02.2016, 06:19:19 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteEngine On
RewriteCond $1 !^przerwa.html RewriteCond %{REMOTE_ADDR} !tu_adres_ip [NC] RewriteRule ^(.*)$ http://mojastrona.pl/przerwa.html [R=302,L] -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 3.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam podobny problem więc nie chcę otwierać nowego wątku.
Mam na stronie ustawioną w htaccess zamianę polskich znaków na ich odpowiedniki Kod RewriteRule ^(.*)ą(.*)$ /$1a$2 [L,R=301] ... RewriteRule ^(.*)ż(.*)$ /$1z$2 [L,R=301] Teraz pojawia się problem przy podstronie z tagami, ponieważ konkretny tag sczytuję z parametru w adresie URL. Dlatego przy adresie ".../tagi/&tag=Opłata", adres zmienia mi się na ".../tagi/&tag=Oplata" i otrzymuję tag "Oplata" a nie "Opłata tak jak bym oczekiwał. Jak mogę wykluczyć całą podstronę "/tagi/" z zamiany polskich znaków? Wpisywanie poszczególnych adresów dla konkretnych tagów trochę się mija z celem ponieważ ich lista rośnie i nie jestem w stanie obsłużyć wszystkich wyjątków. Zamiana polskich znaków nie może też być wyłączona, gdyż jest niezbędna do przekierowań większości serwisu ze starych adresów URL. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A nie prościej obsłużyć polskie znaki po stronie skryptu?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 3.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Problem w tym że skrypt dostaje string z tagiem już po zamianie z polskich znaków więc pozostaje obsługiwanie wyjątków w skrypcie ("Oplata" = > "Opłata"). Zatem jest to rozwiązanie, którego chciałbym uniknąć.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ja mówię w ogóle. po co zamieniać polskie znaki na nie polskie. Wywal te reguły z htaccess i zrób to po stronie serwera, no chyba że masz jakieś uzasadnienie takiej decyzji
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 3.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Klientowi nie podobało się że przy kopiowaniu linków zamienia polskie znaki na np. "%C4%85", więc chciał żeby nie było polskich znaków w URL'ach. Zamieniłem zatem wszystkie URL'e na takie bez polskich znaków, a zamiana w htaccess miała spowodować że jeśli ktoś będzie miał link do starego adresu to automatycznie przekieruje go na nowy adres bez polskich znaków, zachowując przy tym pozycjonowanie adresów (301).
Jak można by to zrobić za pomocą skryptu, żeby nie ucierpiało SEO? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
musisz przed każdym RewriteRula dać coś na wzór:
RewriteCont ${REQUEST_URI} !^/tag/ Chociaż pewnie wszystkie te reguły które masz dałoby się skrócić i ładniej zrobić, więc może je pokaż. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 3.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Reguły które zastosowałem, zamieniające polskie znaki:
Kod RewriteEngine On RewriteBase / RewriteRule ^(.*)ą(.*)$ /$1a$2 [L,R=301] RewriteRule ^(.*)ę(.*)$ /$1e$2 [L,R=301] RewriteRule ^(.*)ś(.*)$ /$1s$2 [L,R=301] RewriteRule ^(.*)ć(.*)$ /$1c$2 [L,R=301] RewriteRule ^(.*)ó(.*)$ /$1o$2 [L,R=301] RewriteRule ^(.*)ł(.*)$ /$1l$2 [L,R=301] RewriteRule ^(.*)ż(.*)$ /$1z$2 [L,R=301] RewriteRule ^(.*)ź(.*)$ /$1z$2 [L,R=301] Dodatkowo jest jeszcze reguła niezbędna do prawidłowego działania CMS'a odpowiadająca za Friendly URL Kod RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] Jak można by tu zastosować RewriteCont ? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem Ci przecież jak.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 3.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Gdy daję przed każdą regułę to co napisałeś
Kod RewriteCont ${REQUEST_URI} !^/tagi/ RewriteRule ^(.*)ą(.*)$ /$1a$2 [L,R=301] RewriteCont ${REQUEST_URI} !^/tagi/ RewriteRule ^(.*)ę(.*)$ /$1e$2 [L,R=301] RewriteCont ${REQUEST_URI} !^/tagi/ RewriteRule ^(.*)ś(.*)$ /$1s$2 [L,R=301] RewriteCont ${REQUEST_URI} !^/tagi/ RewriteRule ^(.*)ć(.*)$ /$1c$2 [L,R=301] RewriteCont ${REQUEST_URI} !^/tagi/ RewriteRule ^(.*)ó(.*)$ /$1o$2 [L,R=301] RewriteCont ${REQUEST_URI} !^/tagi/ RewriteRule ^(.*)ł(.*)$ /$1l$2 [L,R=301] RewriteCont ${REQUEST_URI} !^/tagi/ RewriteRule ^(.*)ż(.*)$ /$1z$2 [L,R=301] RewriteCont ${REQUEST_URI} !^/tagi/ RewriteRule ^(.*)ź(.*)$ /$1z$2 [L,R=301] wywala mi 500 Internal Server Error. Coś robięnie tak? |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
RewriteCond zamiast RewriteCont
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 3.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mój błąd, przepraszam za zamieszanie.
Niestety poprawienie na RewriteCond nie przynosi pożądanego skutku - cały czas zamienia polskie znaki. Czy to ja robię coś źle czy po prostu nie można wykluczyć adresu z takiej reguły? |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jakie masz kodowanie znaków pliku .htaccess?
-------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 3.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
UTF-8 bez BOM
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zrób kopię i wrzuć na serwer w którymś z: ISO-8859, ASCII, Windows-1250.
-------------------- |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 3.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zmiana kodowania powoduje więcej problemów niż pożytku niestety. A jaki ma ono wpływ na te reguły?
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jakich problemów?
Podpieram się tym: Cytat If file is Utf8-without-BOM, and if you do not use characters with diacritical marks "glāžšķūņrūķīši" then file can be utf8 https://www.sitepoint.com/community/t/file-...htaccess/7880/2 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 09:51 |