[ milance_kg @ 20.06.2006. 13:08 ] @
Kao u naslovu :

index.php?go=nesto prevesti u index.php/nesto
tj. ako kucam u addres baru http://neki_domen/index.php/nesto ili samo http://neki_domen/nesto
da odradi http://neki_domen/index.php?go=nesto

Ubi me ovo vec dva dana
sve sam zivo isprobao i nista.

da ne zaboravim:
isprobavao sam na razne nacine u .htaccess fajlu
[ boccio @ 20.06.2006. 13:39 ] @
RewriteRule ^([^.]+)/?$ index.php?go=$1 [L]

[ milance_kg @ 20.06.2006. 13:53 ] @
Hvala, ali ne radi i javlja mi:

"Bad request!
Your browser (or proxy) sent a request that this server could not understand.

If you think this is a server error, please contact the webmaster.

Error 400"

Inace aplikaciju testiram na svojoj masini
XAMPP pod Windows-om(WAMPP)
Apache 2.0.54
PHP 4.3.10

vhost u HTTPD.conf
<VirtualHost www.sajt.com>
ServerAdmin [email protected]
DocumentRoot /xampp/htdocs/vhost/sajt/www
ServerName www.sajt.com
ErrorLog /xampp/htdocs/vhost/sajt/www/logs/example.com-error_log
CustomLog /xampp/htdocs/vhost/sajt/www/logs/example.com-access_log common
</VirtualHost>

i mod_rewrite je ukljucen
[ milance_kg @ 20.06.2006. 14:57 ] @
probao sam ovako:
Code:

Options +FollowSymLinks 

RewriteEngine On 

RewriteRule ^([^.*]+)/?$  http://www.sajt.com/index.php?go=$1 [L]

i kao nesto radi , ali promenjivu nadogradi , pa umesto da bude

"go=vrednost"
ona je
"go=vhost/sajt/www/vrednost".
Kako ovo da resim?

[ milance_kg @ 20.06.2006. 17:01 ] @
Ipak sam nasao kakvo-takvo resenje
u .htaccess-u
Code:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteBase /
RewriteRule ^([^.*]+)/?$  /index.php?go=$1 [NC,L]


a u PHP izbacio visak

Code:

   if(!isset($_GET['go'])){
      $go='default';
   } else {
      if(strstr($_GET['go'],'/')){
         $_GET['go']=explode('/',$_GET['go']);
         $num=count($_GET['go']);
         $_GET['go']=$_GET['go'][$num-1];
         $go=$_GET['go'];
      } else{
         $go=$_GET['go'];
      }
   }


ako neko ima bolje resenje, neka postuje.
[ sojic @ 27.06.2006. 13:22 ] @
Nisam hteo da otvaram novi post.

Imam sledece situacije:

domen.com/nesto/
domen.com/nesto1/
domen.com/nesto2/
domen.com/search/?search=string&submit=Search&opcija=5

U .htaccess=u imam

Code:

RewriteEngine on

RewriteRule ^(.*)/$ /index.php?Page=$1 [L]



U php-u dobijam $Page, ali trebam poslednju opciju, za search, da dobiejm i $_GET

Kako?
[ Br@nkoR @ 27.06.2006. 15:36 ] @
Code:

RewriteRule ^(.*)/$ index.php?Page=$1 [L,QSA]
[ sojic @ 05.07.2006. 16:21 ] @
A kako da u nekom direktoriumu da iskljucim ovaj rewrite?

Evo konkretno:

imam http://www.domen.com/page/ (ovde radi gornji rewrite)
imam http://users.domen.com/. Direktorium za ovaj poddomen je http://www.domen.com/users/ tako da kad pristupim http://users.domen.com/ prihvata gornji rewrite rule.

Kako da za ovaj poddomen prepravim rewrite rule? Da bude "default" bez rewrite rula?
[ Dejan Krstic @ 25.10.2006. 18:02 ] @
Ajde necu ni ja da otvaram novi thread buduci da mi treba nesto mnogo slicno ideji iz prve poruke.

Dakle treba mi ovo: www.nesto.com/aaa/bbb/ccc -> www.nesto.com/index.php?args=aaa/bbb/ccc

To je isto ono sto je trazio covek u prvom post-u.

Ali...

u direktorijumu u kom se nalazi htaccess i index.php se nalaze jos neki fajlovi a meni treba da gore navedeno radi UVEK sem kada je u pitanju index.php. Znaci ako se kroz GET prosledi zahtev za fajlom ili direktorijumom koji nije index.php ali ipak postoji da se i u tom slucaju izvrsi rewrite.

Code:
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteBase /
RewriteRule ^([^.*]+)/?$  /index.php?go=$1 [NC,L]


Dakle, ovo radi ali samo pod uslovom da je fajl koji je zahtevan ne postoji.

Pokusao sam da maknem red RewriteCond ali onda ulazi u mrtvu petlju i puca.

Pokusao sam i ovako:

Code:
RewriteEngine On 
RewriteCond %{REQUEST_URI} !/index.php
RewriteBase /
RewriteRule ^([^.*]+)/?$  /index.php?go=$1 [NC,L]


...dakle da radi samo u slucaju da nije zahtevan index.php i donekle sam uspeo.

Naime, kada pokusam da otvorim stranicu:

www.nesto.com/smarty/
dobijem -> www.nesto.com/index.php?arg=smarty i u address bar-u mi pise www.nesto.com/smarty

ali ako trazim:

www.nesto.com/smarty (dakle bez slash-a na kraju)
onda dobijem www.nesto.com/index.php?arg=smarty ali mi u address bar-u pise www.nesto.com/smarty/?args=smarty

Dakle, u tom slucaju sve lepo funkcionise osim sto se menja situacija u address bar-u ukoliko ne stavim slash na kraju.

Ima li neko ideju kako da resim problem? Mogu da okacim i RewriteLog (koji sam gledao ali ne kapiram u cemu je problem) ako neko misli da ce to biti od pomoci...

[Ovu poruku je menjao Dejan Krstic dana 25.10.2006. u 21:33 GMT+1]

[Ovu poruku je menjao Gojko Vujovic dana 25.10.2006. u 22:36 GMT+1]
[ trabl @ 23.12.2006. 03:05 ] @
Evo da se nadovežem na temu da ne otvaram istu...

meni isto treba kao i u prvom postu, mada ne razumem kako to kreirati...
Me treba da kada kucam www.mojdomen.com/modules.php?name=Forums&file=index da ide na www.mojdomen.com/forum
i slicno...

najbolje bi bilo ako neko ima da postavi celi .htacess file, da vidim kako to treba da se odradi!


Unapred hvala :)
[ flylord @ 23.12.2006. 03:10 ] @
Code:

RewriteRule      ^forum/$  /modules.php?name=Forums&file=index   [L]


ovo ce da radi Valjda
[ Miroslav Strugarevic @ 23.12.2006. 12:35 ] @
Možda AllowOverride AuthConfig nije setovan za folder gde se nalazi .htaccess?
[ trabl @ 23.12.2006. 15:44 ] @
Ja sam kreirao .htacess file i u njega ovo ubacio, ali nista :(

Code:
RewriteEngine on  RewriteRule      ^forum/?$  /modules.php?name=Forums&file=index   [L]


Kada kucam www.mojdomen.com/forum javlja se greska 404 :(
[ trabl @ 25.12.2006. 09:52 ] @
Evo reseno, za one kojima ce kasnije zatrebati ista stvar

Code:
Options +FollowSymLinks

RewriteEngine On

RewriteRule ^forum/?$ /modules.php?name=Forums&file=index [L]

RewriteRule ^marketing/?$ /modules.php?name=Content&pa=showpage&pid=5 [L]



Cheers,
Tane