Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: htaccess - przyjazne url
Forum PHP.pl > Forum > PHP
szajens
Mam taki oto htaccess

  1. RewriteEngine On
  2. Options +FollowSymlinks
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteRule ^([a-z0-9_]+)/$ index1.php?cos=$1 [L]
  6. RewriteRule ^([a-z0-9_]+)/([a-z0-9_]+)/$ index1.php?cos=$1&ktos=$2 [L]


Efekt to jaki chcem uzyskać to adress w stylu:
mojadomena.pl/jakiescos/
mojadomena.pl/jakiescos/jakisktos/

Jednak nie działa mi w ten sposób, nie mogę się nigdzie doczytać.

Jedynie jak zrobie w następujacy sposób:
  1. RewriteEngine On
  2. Options +FollowSymlinks
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteRule ^([a-z0-9_]+)/$ index1.php?cos=$1 [L]
  6.  
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8. RewriteCond %{REQUEST_FILENAME} !-d
  9. RewriteRule ^([a-z0-9_]+)/([a-z0-9_]+)/$ index1.php?cos=$1&ktos=$2 [L]


Wtedy działa tylko ja potrzebuje np od 1 do 10 wartości a nie chcem aby plik htaccess się tak rozrósł.
Znów też nie chciałbym sterować tym przez php, za dużo kodu.

Może ma ktoś jakiś pomysł?
nospor
.htaccess do tego sie wlasnie nie nadaje.
Pozostaje ci php i za bardzo nie rozumiem o jakim "za duzo " kodu mowisz. Przeciez w php zrobisz sobie uniwersalną liczbe parametrow bez zadnego nakladu w kodzie.
szajens
Mówiąc za dużo miałem na myśli kilka linijek więcej, myślałem po prostu że w htaccess się da, tylko ja nie mogę na to wpaść, coś źle robie, trafiłem na jakieś niekompletne opisy.itp.

Co do php to może znasz jakiegoś gotowca?

edit: haha smile.gif http://nospor.pl/ladne-urle.html





nospor, jak zrobić przekierowanie 301 ale w htaccess z linków bez slasha na końcu na link ze slashem? np:
z linku: mojadom.pl/cos/cos
na link: mojadom.pl/cos/cos/
Turson
Nie musisz krzyczeć.
http://enarion.net/web/htaccess/trailing-slash/
Pierwszy link w google, sekunda szukania
szajens
Dziękuje Panowie za pomoc,

Ps.
Cytat(Turson @ 27.06.2014, 15:40:42 ) *
Nie musisz krzyczeć.

Poprawiłem się smile.gif

Mam dziwny problem, poniższa reguła działa mi tylko w następujący sposób:
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteCond %{REQUEST_URI} !(.*)/$
  5. RewriteRule ^(.*)$ <a href="http://domain.com/$1/" target="_blank">http://domain.com/$1/</a> [L,R=301]
  6. RewriteRule ^(.*)/$ index.php?path=$1 [L]


Wydaje mi się ona nie poprawnie złożona, ale działa.

Natomiast jak dam według mnie prawidłowo:
  1. RewriteEngine On
  2.  
  3. RewriteCond %{REQUEST_URI} !(.*)/$
  4. RewriteRule ^(.*)$ [url="http://domain.com/$1/"]http://domain.com/$1/[/url] [L,R=301]
  5.  
  6. RewriteCond %{REQUEST_FILENAME} !-f
  7. RewriteCond %{REQUEST_FILENAME} !-d
  8. RewriteRule (.*) index.php/$1 [L]


Po wpisaniu adresu bez slasha dostaje w przeglądarce: http://mojadom.pl/index.php?path=ble/ble
zamiast ładnego adresu
sazian
a co robi "a href" w htaccess ?

Kod
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [PT]
Turson
Forumowe BBCode samo wrzuca a href
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.