logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Błąd Not Found przy użyciu mod_rewrite dla przekierowania index.html na index.php

webzet 22 Mar 2017 10:56 1026 8
REKLAMA
  • #1 16363183
    webzet
    Poziom 11  
    Posty: 21
    witam

    Użyłem następującego:

    <IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule ^/pl/index.html$ /pl/index.php [L]

    </IfModule>
    mam komunikat:

    Not Found

    The requested URL /pl/index.html was not found on this server.


    gdzie może tkwić błąd ?

    pozdrawiam
    Jarek
  • REKLAMA
  • #2 16363829
    arnoldziq
    VIP Zasłużony dla elektroda
    Posty: 5376
    Pomógł: 789
    Ocena: 299
    webzet napisał:
    The requested URL /pl/index.html was not found on this server.

    gdzie może tkwić błąd ?

    A ma kolega folder /pl/ na stronie? I plik Index.html w tymże katalogu?
  • REKLAMA
  • #3 16363842
    webzet
    Poziom 11  
    Posty: 21
    folder pl tak

    Index.html nie (index.html tez nie)

    myslałem,ze mi zmieni index.php na index.html
  • REKLAMA
  • #4 16363855
    arnoldziq
    VIP Zasłużony dla elektroda
    Posty: 5376
    Pomógł: 789
    Ocena: 299
    webzet napisał:
    myslałem,ze mi zmieni index.php na index.html
    Mój błąd. Powinno byc php.
  • REKLAMA
  • #5 16363956
    Dżyszla
    Poziom 42  
    Posty: 7075
    Pomógł: 1095
    Ocena: 224
    A może po prostu nie ma modułu na serwerze? Wyrzuć tego ifa i zbadaj zachowanie wtedy.

    Ale wydaje mi się, że chyba nie daje się ukośnika na początku w wyrażeniu przekierowania. Przy okazji pamiętaj, że to wyrażenie regularne - kropka oznacza dowolny znak!
  • #6 16364092
    webzet
    Poziom 11  
    Posty: 21
    To superhost - moduł jest.
    Pozbyłem się slashów, dałem wyższą wersję PHP i ruszyło :-).

    Ale nie do konca: reaguje na wpis:

    RewriteRule ^index.html$ index.php [L]

    http://portal.karatetsunami.eu/pl/index.html

    ale na wpis:

    RewriteRule ^strona-([0-9][0-9]).html$ index.php?id=$1 [L]

    już nie.

    Mam strony w formacie index.php?id=21
    21 przykładow

    a chciałbym po prostu strona-21.html

    może ktoś pomoże ?

    pozdrawiam
  • #8 16364227
    webzet
    Poziom 11  
    Posty: 21
    The requested URL /pl/strona-1.html was not found on this server.

    Dodano po 2 [godziny] 39 [minuty]:

    "wypalił" taki zapis

    <IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule ^index.html$ index.php
    RewriteRule ^strona-([0-9]+).html$ index.php?id=1

    </IfModule>




    zamykam temat
  • #9 16366174
    Dżyszla
    Poziom 42  
    Posty: 7075
    Pomógł: 1095
    Ocena: 224
    No tak, za pierwszym razem zrobiłeś tylko i wyłącznie 2 cyfry. Myślałem, że podając przykład "21" własnie taki stosujesz.

Podsumowanie tematu

✨ Użytkownik napotkał błąd "Not Found" przy próbie przekierowania z index.html na index.php za pomocą mod_rewrite. Po weryfikacji, okazało się, że folder /pl/ istnieje, ale plik index.html nie był obecny. Użytkownik usunął ukośniki w regule przekierowania i zaktualizował wersję PHP, co rozwiązało część problemu. Następnie pojawił się nowy problem z przekierowaniem dla adresu strona-21.html, które również kończyło się błędem 404. Ostatecznie, po poprawieniu reguły RewriteRule, użytkownik uzyskał działające przekierowanie.
Wygenerowane przez model językowy.
REKLAMA