-
Data: 2023-11-17 09:24:45
Temat: Re: php, linki z nazwami a $_GET, SEO
Od: Mateusz Viste <m...@...invalid> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]dn. Fri, 17 Nov 2023 01:38:51 GMT, Marcin Debowski napisał:
> > Amatorsko administruję kilkoma stronami www. Te z URL-ami typu
> > "?id=123" są równie dobrze indeksowane, co te z fikuśniejszymi
> > URL-ami.
>
> Indeksuje, ale czy nie obniża pozycji?
Dobre pytanie, w sumie to nie wiem. Tematyka tych moich stron jest
na tyle niszowa, że tak czy inaczej jestem na pierwszym miejscu więc
trudno mi określić jak to mogłoby wyglądać przy konkurencji.
> > RewriteEngine On
> > RewriteRule "^([0-9]+)" "?id=$1" [PT]
> >
> > Powyższy regex łapie wyłącznie identyfikatory numeryczne. Dla innych
> > należy go odpowiednio dostosować.
>
> Rozumiem, że w powyższym żądanie typu (przykład) /79 będzie
> przekształcone do ?id=79?
Dokładnie tak. Podobnej regułki używam np. tutaj:
https://ulwarre.pl/forum/
Wątki na forum dostępne są pod linkami typu /forum/xyz, ale po
przejściu przez MOD_REWRITE moje PHP dostaje tak naprawdę zapytania w
postaci /forum/?thread=xyz (zresztą obie formy działają publicznie).
Oczywiście równie dobrze możesz użyć słów zamiast numerycznych
wartości. Jak używam numerycznych tylko dlatego, że łatwo jest je
zabezpieczyć. Wystarczy argument przepuścić przez intval() i już mam
gwarancję, że nikt mi tu żadnego sqla czy innega dziadostwa nie
wstrzyknie. Słowa też można zabezpieczyć, ale potrzeba nieco więcej
uwagi.
Możesz też użyć kilku reguł naraz, np. żeby przekierować zapytania do
innego pliku php w zależności od pierwszej litery słowa, czy tam innego
dyskryminatora.
> Jakos tak?:
>
> RewriteRule "^([A-Za-z\-_])+" "?id=$1" [PT]
>
> Tam jest potrzebny "escape" przy trzecim "-"?
Do testowania regexów możesz użyć tego fajnego narzędzia:
https://www.regexpal.com/
Twoja regułka na oko wygląda dobrze, tylko uważaj na skutki uboczne.
Np. jeśli będziesz chciał opublikować później jakiś prawilny plik typu
"mojastrona.pl/plik_do_pobrania", to ten wpadnie w RewriteRule i
zostanie przetłumaczony na "?id=plik_do_pobrania". Warto od startu
pomyśleć nad jakąś nomenklaturą, żeby później nic nie miało szans się
pomieszać.
Mateusz
Następne wpisy z tego wątku
- 19.11.23 02:27 Marcin Debowski
- 19.11.23 20:21 Mateusz Viste
Najnowsze wątki z tej grupy
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
- Czy istnieje jakiś emulator przeglądarek pod Mac'a?
- taka sama konfiguracja dla localhost i produkcji
Najnowsze wątki
- 2025-03-15 kraje nieprzyjazne samochodom
- 2025-03-15 parking Auchan
- 2025-03-15 Art. 19.1 ustawy o ochronie praw autorskich
- 2025-03-15 przegląd za mną
- 2025-03-15 Na co komu okna
- 2025-03-15 Mój elektryk
- 2025-03-15 Fejk muzyczny czy nie fejk
- 2025-03-15 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-15 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-15 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-15 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+ experience) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-03-15 KOMU w RP3 pasuje "Rumuńska łatwość gmerania w wyborach" i dlaczego nie PO-Trzaskanym?
- 2025-03-15 China-Kraków => Key Account Manager IT <=