xGrzegorZx
24.02.2012, 15:35:58
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ął?
by_ikar
24.02.2012, 15:49:11
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.,
xGrzegorZx
25.02.2012, 01:20:32
by_ikar dzieki:) Jakbyś mógł to napisz jak jeszcze zrobić żeby z tych wszystkich wymyslonych przez googleboota folderów przekierować R=301 na właściwy adres, wiem jak przekierować z określonego folderu ale jak chce ze wszystkich jedną regułą to nie działa (zapetla się).
Jaka reguła przekieruje wszystkie *.html z www.subdomena.domena.pl/fdfsf/*.html lub www.subdomena.domena.pl/ffsdfdsf/fsdfsdfs/*.html lub jakiegokolwiek folderu lub folderów na www.subdomena.domena.pl/*.html
Licze na pomoc, pozdrawiam.
Ok, Poradziłem sobie:) Pozdrawiam.
by_ikar
25.02.2012, 12:58:28
Niech te foldery które nie istnieją, zwracają 404, i wszystko, same znikną z wyników wyszukiwania.
xGrzegorZx
25.02.2012, 14:57:10
by_ikar hehe szkoda mi bylo tracić tych adresów z folderami bo tam było z 7000 stron zaindexowanych przez google dlatego stworzylem regułe z przekierowaniem R=301 na prawidłowe adresy

I jest dobrze:)
Pozdrawiam:)
by_ikar
25.02.2012, 15:41:42
Zależy jeszcze jak dużo było tych "katalogów". Jeżeli niezbyt dużo, to faktycznie, szkoda tracić tych zaindeksowanych stron, ale w przypadku kiedy jest ich dość sporo, i linki nie są jakoś specjalnie podobne do siebie, co by można było wyrażeniem złapać, to już by mi się nie chciało bawić i walnąłbym 404
xGrzegorZx
25.02.2012, 18:15:43
by_ikar na szczęście wszystki konczyły się na .html

a różnych folderów było dużo

Pozdrawiam