Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Przyjazne linki jednowyrazowe
albectus
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 8.09.2010

Ostrzeżenie: (0%)
-----


Witam serdecznie. Zastosowałem na swojej stronie przyjazne linki, ktore mi w tytule sciagaja tytuł danego artykułu i zauwazylem probiem, kiedy tytuł ma postać "artykul-o-pewnej-osobie" jest wszystko dobrze ale jezeli tytuł jest bez myslnika np "oferta" to niestety strona sie nie otwiera. Gdzie tkwi problem? Ponizej moj plik hataccess [code
ErrorDocument 404 /index.php
ErrorDocument 403 /index.php
Kod
Options FollowSymLinks
RewriteEngine On

RewriteRule ^([^-]*),([^-]*)$ index.php?go=$1&kat=$2 [L]

RewriteRule ^art,([^-]*),(.+)$ index.php?go=art&id=$1&tytul=$2 [L]]


Ten post edytował albectus 24.04.2011, 11:26:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
.radex
post
Post #2





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


Nie rób tak tego!

Po prostu przekieruj (za pomocą mod_rewrite) wszystko, co nie jest istniejącym plikiem lub folderem na index.php/X, a resztę rób po stronie PHP.

Wygląda to mniej-więcej tak (zapewne można to trochę polepszyć -- nie jestem specem od .htaccess -- ale powinno działać):

Kod
<IfModule mod_rewrite.c>
   RewriteEngine On
  
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>


I teraz to co masz po index.php/ jest dostępne w PHP za pomocą $_SERVER['PATH_INFO']

Serio, oszczędzisz sobie dużo kłopotu -- znacznie łatwiej parsować (i debugować) takie konstrukcje w PHP.

Ten post edytował .radex 24.04.2011, 13:49:51
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 23:06