Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Apache, RewriteRule
Forum PHP.pl > Forum > Serwery WWW > Apache
kufalo
Kod
RewriteEngine On
RewriteRule \.php$ - [R=404]
RewriteRule ^(.*)\.htm$ $1.php


Witam,
Fizycznie na serwerze mam pliki z rozszerzeniem *.php
Pierwsza regula blokuje bezposrednie wywolania tych plikow.

W przypadku wklepania w przegladarke *.htm piersza regula jest pomijana a powinna wykonac sie druga czyli przekierowac wewnetrznie Apacha do fizyczny plik serwera z rozszerzeniem *.php
Niestety rowniez dostaje 404. Dlaczego tak sie dzieje i jak to poprawic?
vermis
Może tak:
Kod
RewriteRule ^(.*)?\.htm$ $1.php

Nie wiem jak w mod_rewrite, ale w zasadzie wyrażenia są zachłanne, czyli dopasowują maksymalnie ile się da. Oznacza to, że '.htm' dopasuje do (.*) więc wyrażenie nie jest spełnione.
Ale nic sobie za to obciąć nie dam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.