Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP]PHP i mod_rewrite problem
Forum PHP.pl > Forum > Przedszkole
stryX
Mam następujący problem, otóż chciałem sobie poprawić seo itp. więc zacząłem zabawę z krótkimi, przyjaznymi linkami.

w moim prymitywnym cmsie dodałem pole do wpisania wymyślonego przez siebie krótkiego linku (który później trafia do bazy danych) - dajmy na to link "artykul-o-niczym".

Zwykły link php przedstawia się następująco: index.php?id=1&nazwa=artykul-o-niczym
niezbyt przejrzysty i łatwy do zapamiętania.

chciałbym osiągnąć link w postaci artykul-o-niczym.html ... I tu pojawia się problem.

Jak na razie po kilku godzinach kombinowania mam coś takiego w postaci:
Kod
RewriteRule ^([^-]*)-([a-zA-Z]+).html index.php?id=$1&nazwa=$2


I tutaj jest problem, bo link moze byc tylko w postaci: 1,artykuloniczym.html (bez myslnikow miedzy tekstem), a efekt jaki chciałbym osiągnąć to: artykul-o-niczym.html lub chociaż 1,artykul-o-niczym.html

Proszę o pomoc!
roghatt
dlaczego link "może być" tylko w postaci bez myślników?
dlaczego tak uważasz, jakieś błędy się pojawiają?
stryX
Cytat(roghatt @ 12.10.2011, 22:16:34 ) *
dlaczego link "może być" tylko w postaci bez myślników?
dlaczego tak uważasz, jakieś błędy się pojawiają?

jak wcisnę myślnik pomiędzy tekst, wywala 404 nie znaleziono obiektu.
roghatt
Kod
RewriteRule ^([^-]*)-([a-zA-Z0-9-_]+).html index.php?id=$1&nazwa=$2

sprobuj to
i tutaj masz myslnik a nie przecinek po id
1-artykul-o-niczym.html
stryX
roghatt - ogrome dzięki wink.gif jeszcze sobie pokomnibuje na spokojnie jak usunąć numerek id z przodu smile.gif
roghatt
smile.gif
ja u siebie id zawsze zostawiam bo raz sie pojawil problem ze dwie podstrony mialy taki sam adres:) a id wiadomo w bazie zawsze bedzie unikalne jesli dane sa w jednej tabeli
stryX
Tego nie przewidziałem wink.gif
Dzięki za poradę wink.gif

jeszcze jedno pytanko - czy po rewritowaniu urli google będzie widziało wszystko "podwójnie"? Np. Index.php oraz index.html?
roghatt
u mnie starych linków nie widzi.
Najlepiej jest przekierować te linki ze starych na nowe. Ja tego nie robiłem bo nie czułem takiej potrzeby. Stare linki przekierowałem na stronę główną i szybko wyleciały z Google.
W htaccess sobie ustaw aby najpierw czytało .html, ale jak ręcznie wpiszesz z .php to też strona się otworzy. Google chyba w sumie w linkach nie dopisuje index, dopiero we wejściu pod link z htaccess pobiera dane czy ma otworzyć index z html czy z php.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.