Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak usunąć status 301 mod rewrite
Forum PHP.pl > Forum > Serwery WWW > Apache
kamiz
Plik .htaccess
Kod
RewriteBase /
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.kamiz.co.cc
RewriteRule (.*) http://kamiz.co.cc/$1 [R=301]

RewriteRule ^news$ news.php

Wszystko pięknie, gdy wpiszę news przekierowuje mnie na news.php z maskowaniem URLa. Chciałem aby news.php przekierowywał na news, więc dodałem status 301:
Kod
RewriteRule ^news$ news.php [R=301]

Niestety, dało to przeciwny skutek. Teraz news przekierowuje na news.php bez maskowania URLa, a po wpisaniu news.php nigdzie nie przekierowuje.
Chciałem usunąć ten status, więc zmieniłem go na 302 i dodałem kolejną regułę:
Kod
RewriteRule ^news$ news.php [R=302]
RewriteRule ^news\.php$ news [R=301]

Przekierowania zapętliły się, nic nie działa. Spróbowałem usunąć reguły i wejść na news. Nie przekierowuje, bo przenosi mnie do strony błędu mojego hostingu. Teraz dodałem regułę, w nadziei że naprawię swój błąd:
Kod
RewriteRule ^news$ news.php

Nie działa sciana.gif. Co mogę zrobić? Jak usunąć status 301?
icetique
Kod
RewriteRule ^news$ news.php [LR]


Spróbuj może tak.

EDIT @down:

Kod
[L,R]
kamiz
Po tym zabiegu wchodzę w przeglądarkę i wyświetla mi się:
Kod
500 Internal Server Error

Usuwam flagę [LR] (nie wiem co ona oznacza, nawet w dokumentacji Apache tego nie ma) i działa biggrin.gif. Wielkie thx!

-nowy post-

dry.gif
Problem się powtórzył. Miałem już działające przekierowanie news do news.php z maskowaniem URL, jednak chciałem, aby news.php przekierowywało też do news. Nie miałem pomysłu jak to zrobić, więc spróbowałem tego jeszcze raz:
Kod
RewriteRule ^news$ news.php
RewriteRule ^news\.php$ news

Tyle, że teraz nie mogę tego odkręcić, bo dodanie do tych reguł flagi [LR], a następnie usunięcie całych reguł i wejście na news.php powoduje wyświetlenie się strony błedu mojego hostingu.

Cytat
jednak chciałem, aby news.php przekierowywało też do news

i
Cytat
nie mogę tego odkręcić

Jak to zrobić?

edit: Dodam, że po całkowitym wyłączeniu mod rewrite, dalej nie mogę wejść do news.php. Tak jakby go nie było na serwerze. A on jest, bo usunąłem go i wgrałem ponownie.
erix
Nie LR, tylko L,R.

Cytat
A on jest, bo usunąłem go i wgrałem ponownie.

Pokaż strukturę drzewa katalogowego oraz zawartość wszystkich htaccess - włącznie z tymi w katalogach wyższych.
kamiz
Katalog public_html:

Przed katalogiem public_html mam tylko .ftpquota, do którego nie mam dostępu.

Pełny .htaccess:


Problem: po wejściu na adres http://kamiz.co.cc/news.php przekierowuje mnie do strony błędu mojego hostingu, mimo że mod rewrite jest wyłączony.
Problem poboczny 1: jak zrobić, aby news.php maskowało się jako news (jednocześnie news przekierowuje do news.php)?
Problem poboczny 2: nie rozumiem flagi [L], niby że po niej reguły nie działają, a u mnie działają - i po co tą flagę stosować?


edit: Zrobiłem test. Wychodzi na to, że z adresów news, news.php, artykuly przekierowuje do strony błędu mojego hostingu. Dlaczego tak się dzieje? Wszystkie inne strony działają poprawnie.
edit2: Dziwne, bo przez proxy da się wejść na ww. wymienione adresy, a normalnie już nie. Może to tylko u mnie tak się dzieje?
edit3: Tak jak myślałem, problem sam po czasie się rozwiązał.
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.