2014-04-20 18 views
5

Przeczytałem this i wydaje mi się to zbyt długie na moją prośbę.htaccess Przekieruj jeden plik do innego

i próbował Redirect /index.php /index2.php ale to nie działa (wewnętrzny błąd serwera)

Co chcę jest przekierowanie niektóre z moich plików php do indeksu. Na przykład, mam mój plik indeksu jako

header.php

content.php

footer.php

i chcę przekierować bezpośredni dostęp do tych plików do index.php. Czy jest to możliwe z htaccess lub w jakikolwiek inny sposób?

mysite.com/index.php OK mysite.com/header.php przekierowanie do 404 lub indeksu lub coś innego.

+0

Co masz na myśli przez "bezpośredni dostęp"? Wszystkie pliki, które są dostarczane przez serwer sieciowy, są bezpośrednio dostępne. –

+0

Myślałem, że dobrze expalin. Tworzę swój projekt za pomocą metody php include. Chcę zablokować bezpośredni dostęp do mojego dołączonego pliku. Chcę zablokować niektóre pliki - w tym przypadku header.php i footer.php - zablokowane. Jeśli ktokolwiek próbuje odwiedzić moje strony, to jest w porządku. Jeśli ktoś próbował uzyskać dostęp do mojego pliku header.php przez www.example.com/header.php, chciałbym je przekierować. – Degauser

Odpowiedz

5

Spróbuj:

RewriteEngine On 
RewriteRule ^(header|content|footer)\.php - [L,R=404] 

lub

RewriteEngine On 
RewriteRule ^(header|content|footer)\.php index.php [L,R=301] 
+0

dzięki za odpowiedź. Zrobiłem RewriteRule^(header | content | footer) \. Php index.php [L, NC] i wydaje się być w porządku. Czy powinienem używać parametrów takich jak ac 301 404 itp? Czy są potrzebne? – Degauser

+0

@Degauser przekierowuje flagę "R". 404 oznacza zwrot błędu "404 Nie znaleziono", 301 oznacza stałe przekierowanie. –

+0

dzięki za pomoc – Degauser