blackroger
28.10.2009, 14:23:08
Mam problem dotyczący urla. Otóż chciałbym aby taki link
http://192.168.195.134/main/category?id=1 został zamieniony na
http://192.168.195.134/main/category-1.htmlw pliku .htaccess, który jest standardowo w katalogu web są takie reguły:
Options +FollowSymLinks +ExecCGI
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^category-([^-]+).html$ main/category?id=$1 [L]
</IfModule>
Co jest źle?
stirith
28.10.2009, 14:43:22
blackroger
28.10.2009, 15:15:47
to jak to mialoby wygladac w routing.yml?
stirith
28.10.2009, 15:27:44
Szukaj informacji w tym linku co Ci podałem
a oto przykład:
Kod
view_profile:
url: /:module/:id.html
param: { module: profil, action: index }
co daje:
Kod
/profil/id/1.html
Gribo
28.10.2009, 15:39:33
może tak:
cos:
url: /main/category-:id
params: { module: main, action: category, format: html }
jak tego używać w widokach dowiesz się z dokumentacji. powodzenia
blackroger
28.10.2009, 16:00:20
ok. rozumiem dzięki....tylko jedno pytanie jeszcze... jak puszczam to przed kontroler w moim przypadku auction_dev.php to wszystko ładnie chodzi.... ale jak puszczam to przez index.php albo generalnie bez żadnego skryptu (wtedy też idzie przez index.php) to nie łapie tego...gdzie ustawić zeby routing chodził też na index.php?
Gribo
28.10.2009, 16:02:28
może wyczyść cache
w lini komend wpisz
symfony cc
blackroger
28.10.2009, 17:25:15
jeszcze wracam...za wcześnie się chyba ucieszyłem...mam takie coś w routing.yml
category:
url: /main/category.:id
param: { module: main, action: category }
Wszystko działa dobrze dopóki kropki pomiędzy category a id nie zastąpię _ lub -. Pewnie są to znaki specjalne zarezerwowane w symfony. Czy jest możliwość użycia ich, czy nic sie nie da zrobic?
widze że nawet taka formułka:
url: /main/category:id
nie jest dopuszczona
dobra już poszło...
all:
routing:
class: sfPatternRouting
param:
generate_shortest_url: true
extra_parameters_as_query_string: true
segment_separators: ['/', '.', '_', '-']
trzeba dodac segment_separators. Plik factories.yml.