Ciągłe przekierowanie na strone główną - mod_rewrite

0

Sytuacja wygląda następująco: chciałbym potestować nową funkcjonalność strony.
Przekopiowałem całą zawartość do www.mojadomena.pl/nowatestowa. Niestety wyświetla mi się tylko

testowa strona główna. Po kliknięciu w jakąś pozycję w pasku adresu pojawia się prawidłowy adres ale nadal wyświetla się testowa strona główna.

plik .htacces

RewriteEngine on
#testowałem też z "RewriteBase /" oraz bez RewriteBase
RewriteBase /nowatestowa/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [l]

po kliknięciu w jakąś pozycję mam w pasku adresu:
http://www.mojadomena.pl/nowatestowa/kategoria/1402

dodatkowo do pliku index.php jest include"rewrite.html"

zawartość tego pliku:

$param = $REQUEST_URI;
$para = explode('/', $param);
$d = 2*(int)( count( $para )/2 );
for( $i=1; $i<$d; $i+=2 )										
{
		$k = $para[ $i ];
		$v = $para[ $i+1 ];
		$PARAMETR[ $k ] = $v;
}

bardzo przypomina to kod z strony (Przykład 4.2):
http://www.haxite.org/index.php3?site=artykul&nx1=artykul_view&id=589

Niestety nie ja tworzyłem stronę. Czy ma ktoś pomysł jak zmodyfikować kod aby strona testowa wyświetlała się prawidłowo?

0

Wiki
Zawsze, kiedy edytuję htaccess muszę ryć godzinę w manualu ale może zmiiast:
RewriteRule ^.*$ index.php [L]
daj
RewriteRule ^.*$ index.php/$1 [L]
RewriteBase może być kompletnie niepotrzbne.
Ciekawostka z mojego serwera:

#nie działa kompletenie:
RewriteRule ^.*$ index.php/$1 [L]
#działa jak trzeba
RewriteRule ^(.*)$ index.php/$1 [L]
0

Ale to wisi na tym samym serwerze?
Nie znam się na register_globals, bo nigdy tego nie używałem, ale ta linijka jest podejrzana (tak przy okazji - może to sugerować dziurawy kod).

$param = $REQUEST_URI;

Spróbuj wstawić coś takiego:

param = $REQUEST_URI;
$para = explode('/', $param);
unset($para[0]);
$d = 2*(int)( count( $para )/2 );
for( $i=1; $i<$d; $i+=2 ) { // jak coś nie podziała to spróbuj dać $i=2 zamiast $i=1
                $k = $para[ $i ];
                $v = $para[ $i+1 ];
                $PARAMETR[ $k ] = $v;
}

edit: swoją drogą ten for to chyba jakaś obfuskacja kodu :D

No i sam nie wiem czy jakieś index.php/module/aktualnosci/action/view/id/1/ jest wybitnie lepsze niż index.php?module=aktualnosci&action=view&id=1, no ale to nie ja pisałem, nie moja sprawa ;)

0

zmiana $i=2 rozwiązała sprawę.

dzięki i pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1