![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 24.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam adresy w formie
www.subdomena.domena.pl/?liczba,nazwa-jakas-czegos np. www.subdomena.domena.pl/?123,pizza-peperoni www.subdomena.domena.pl/?nazwa-jakas-czegos,liczba np. www.subdomena.domena.pl/?pizze,22 Pierwszy z adresów zamieniam w forme www.subdomena.domena.pl/123,pizza-peperoni.html stosując regułę: RewriteRule ^([0-9]+),(.*)\.html ?$1,$2 [QSA] i działa poprawnie Drugi adres zamieniam w forme www.subdomena.domena.pl/pizze,22.html stosując regułę: RewriteRule ^(.*),([0-9]+)\.html ?$1,$2 [QSA] lub RewriteRule ^(.*),([0-9]+)(,[0-9]*)*(,[0-9]*)*(,[0-9]*)*\.html ?$1,$2,$3,$4,$5 [QSA] Niestety tutaj adresy zmieniają sie dobrze ale jest problem ponieważ np adres www.subdomena.domena.pl/fkjsdhfkjsd/pizze,22.html tez działa a nie chce zeby działał. Przed pizze,22.html można wpisać cokolwiek i będzie działało np /fsdf/fsd/fsd/fsdf/sd/pizze,22.html tez zadziała ale niestety ten adres jest widoczny w przeglądarce i dla botów indexujących. Jak wykluczyć lub napisać regułę tak, żeby problem zniknął? Ten post edytował xGrzegorZx 24.02.2012, 22:03:48 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dzieje się tak bo wyrażenie masz złe. Użyłeś wyrażenia:
Kod (.*) Które łapie wszystko, bo tyle oznacza kropka, a gwiazdka to jest zero lub więcej powtórzeń. Jeżeli zmienisz tą kropkę i gwiazdkę na coś takiego: Kod RewriteRule ^([^/,]+),([0-9]+)\.html ?$1,$2 [L] Wówczas złapie ci wszystkie znaki które nie są przecinkiem lub slashem. IMO pomyśl o jakimś dobrym routerze, który zabawy z linkami i zabawą z htaccess zrobi za ciebie.. Taki horde route już jest ok., |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 23:05 |