Przyjazne linki bez mod_rewrite

1

Witam,
Chciałbym wprowadzić do swojego serwisu przyjazne linki w formacie http://www.adres.pl/programowanie-problem-z-czyms
Jak to zrobic?:)
Na początek (opierając się o różnego rodzaju poradniki i tutoriale) próbowałem tworzyć plik .htaccess (treść poniżej) w katalogu z plikiem index.php

Options FollowSymLinks
RewriteEngine On
RewriteRule ^index([^-]+)$ index.php?cos=$1 [L]

Wywołując stronę http://www.adres.pl/index.php?cos=przyklad

Nic się nie zmienia..
Nie wiem czy dobrze rozumiem działanie modułu Rewrite..dlatego postanowiłem napisać tutaj.

Sprawdzałem również czy mod_rewrite jest włączone przy pomocy :

<?php

function CzyJestModul($nazwa)
{
    $wynik = false;
    if (function_exists('apache_get_modules'))
    {
         $wynik = in_array($nazwa, apache_get_modules());
    }
    else
    {
         ob_start();
        phpinfo(INFO_MODULES);
        $contents = ob_get_contents();
        ob_end_clean();
        $wynik = (strpos($contents, $nazwa) !== false);
    }
    return $wynik;
}

function CzyJestModRewrite()
{
    return CzyJestModul("mod_rewrite");
}

echo CzyJestModRewrite() ? "Jest mod_rewrite!" : "Nie ma mod_rewrite";
?>

Wychodziło, że nie - da się jakoś inaczej włączyć ten mod ? Nie mam dostępu do panelu głównego serwera, korzystam z subdomeny.
Być może znacie jakiś sposób, aby osiągnąć wyżej przedstawiony efekt w inny sposób?

2

Poproś o włączenie, jeśli nie, możesz użyć PATH_INFO i będzie podobnie.

http://example.com/index.php/jakies/dodatkowe/rzeczy

Zostanie odpalony index.php, a w zmiennej $_SERVER['PATH_INFO'] będzie /jakies/dodatkowe/rzeczy. Wystarczy to potem zinterpretować i gotowe ;)

0

ja napisałem w .htaccess

 
Options FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^logowanie.html$ index.php [L] 

Mój plik nazywa się index.html. Kiedy wpisze ....yoyo.pl/index.html to się odpala i wyświetla testowy napis. A jak wpisuję yoyo.pl/index.php to wyskakuje błąd. I teraz nie wiem co to oznacza. Wydaje mi się, że oba powinny działać, ale nie wiem czy dobrze myślę. Czy yoyo.pl ma włączony mod_rewrite i .htaccess czy nie?

0

Jeżeli chodzi o sprawdzenie czy jest mod_rewrite to ja znalazłem taki kod w google:

<?php
 
function CzyJestModul($nazwa)
{
    $wynik = false;
    if (function_exists('apache_get_modules'))
    {
         $wynik = in_array($nazwa, apache_get_modules());
    }
    else
    {
         ob_start();
        phpinfo(INFO_MODULES);
        $contents = ob_get_contents();
        ob_end_clean();
        $wynik = (strpos($contents, $nazwa) !== false);
    }
    return $wynik;
}
 
function CzyJestModRewrite()
{
    return CzyJestModul("mod_rewrite");
}
 
echo CzyJestModRewrite() ? "Jest mod_rewrite!" : "Nie ma mod_rewrite";
?>

Aczkolwiek pokazywał mi,że mod_rewrite nie ma. A jednak działa:)
Także ja już nie rozumiem o co chodzi:)

edit:
Options FollowSymLinks
RewriteEngine On
RewriteRule ^logowanie.htm$ l0g.php [L]
RewriteRule ^profil.htm$ chroniona.php [L]
RewriteRule ^przypomnij-haslo.htm$ l0g.php?przypomnij=haslo [L]
RewriteRule ^rejestracja.htm$ rejestrator.php [L]
RewriteRule kod-aktywacyjny-([-]+).htm$ rejestrator.php?active=$1 [L]
RewriteRule kod-potwierdzajacy-([-]+).htm$ l0g.php?request=$1 [L]

Tak wygląda mój .htaccess
Umieszczony jest w folderze z plikiem l0g.php po wpisaniu w pasek przeglądarki http://www.adres.pl/folder/logowanie.htm widzę zawartość pliku l0g.php :)
No i podkreślam, ze skrypt który podałem wyżej, pokazuje, że nie mam włączonego mod_rewrite.

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