.htaccess redirect pomoć needed

Trebam pomoć, ne znam kako složiti, sve kombinacije isprobah, pa čak i guglah, ali - štanga.
Dakle, trebam ovo:

 http://mojsite.com/folder/nekoime    -> treba otvoriti http://mojsite.com/folder/index.php?nesto=nekoime
 http://mojsite.com/folder/nekoime/   -> treba otvoriti http://mojsite.com/folder/index.php?nesto=nekoime
 http://mojsite.com/folder/nekoime/perozdero -> treba otvoriti http://mojsite.com/folder/index.php?nesto=nekoime&netko=perozdero

Imam ovo:

http://mojsite.com/folder/nekoime   -> 500 server error
 http://mojsite.com/folder/nekoime/  -> otvara http://mojsite.com/folder/index.php?nesto=nekoime
 http://mojsite.com/folder/nekoime/perozdero -> otvara http://mojsite.com/folder/index.php?nesto=nekoime&netko=perozdero

Ima tko kakvo rješenje?
Hvala!

Pa jel imaš kakv .htaccess već, ako imaš daj šibni kod ovdje.

Ovo je htaccess iz CodeIgniter, i mislim da radi ono što ti trebaš, ali bi ga trebao malo prilagoditi.

Imam ovo i to radi kao što sam gore naveo:

RewriteRule web/([^/]+)/(.*)$ web/index.php?sitename=$1&act=$2 [NC,L]

Dakle, sad bih trebao nešto poput:

RewriteRule web/([^/]+)$ web/index.php?sitename=$1 [NC,L]

ali to neće radit (a meni logički izgleda da mora radi…)

[quote=“dmitrecic”]Imam ovo i to radi kao što sam gore naveo:

RewriteRule web/([^/]+)/(.*)$ web/index.php?sitename=$1&act=$2 [NC,L]

Dakle, sad bih trebao nešto poput:

RewriteRule web/([^/]+)$ web/index.php?sitename=$1 [NC,L]

ali to neće radit (a meni logički izgleda da mora radi…)[/quote]

Iako nisam sa .htaccess na ti ali mislim da bi i u ovom drugom slučaju morao staviti /(.)$
dakle da izgleda ovako
RewriteRule web/([^/]+)/(.
)$ web/index.php?sitename=$1 [NC,L]

Al ako stavim u drugom slučaju to, onda je to isto kao i prva linija, što će reć da je nepotrebno :slight_smile:
Evo kaj se zbiva:
ako upisem:

http://mojsite.com/folder/nesto

Salje se request: index.php?sitename=folder&action=nesto

(htaccess: RewriteRule web/([^/]+)/(.*)$ web/index.php?sitename=$1&action=$2 [NC,L])

Ako upisem

http://mojsite.com/folder/

Salje se request: index.php?sitename=folder

(htacces: RewriteRule web/([^/]+)/$ web/index.php?sitename=$1 [NC,L])


Onda na page

Međutim ako upisem

http://mojsite.com/folder

Salje se request: index.php?sitename=index.php

(htacces: RewriteRule web/([^/]+)$ web/index.php?sitename=$1 [NC,L]
  ili
htacces: RewriteRule web/(.*)$ web/index.php?sitename=$1 [NC,L]
svejedno, isti rezultat dobijem)

ovaj zadnji backslash me ubija u pojam…

Jesi li probao s ovim, ja mislim da je to baš ono što ti treba, ako je request nije file ili direktorij onda će se odraditi akcija u get parametru inače će redirektati na taj folder ili file:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

Ovako nešto?

RewriteEngine on

RewriteRule web/([A-Za-z0-9-_]+)?/?$ index.php?sitename=$1 [QSA,L]
RewriteRule web/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)?/?$ index.php?sitename=$1&action=$2 [QSA,L]

Probaj

RewriteRule web/([^/]+)/(.*)$ web/index.php?sitename=$1&action=$2 [NC,L])
RewriteRule web/([^/]+)/?$ web/index.php?sitename=$1 [NC,L])

Budem isprobao sva tri rješenja pa javim. Probao sam ovo od CC-a (RewriteRule ^(.*)$ index.php?/$1 [L]) i “na tragu je” (radi ali ne potpuno kako bi trebalo, pa ću ga malo modificirat).

Riješih stvar:

RewriteRule web/([^/]+)/$ web/index.php?sitename=$1 [NC,L]
RewriteRule web/([a-z]+)$ web/$1/ [R,NC,L]

Hvala na pomoći!


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja