Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [.htaccess] Pod "/" widoczna zawartość "/public/"
Forum PHP.pl > Forum > Serwery WWW > Apache
infoo1
Jak w .htaccess zrobić tak, by user wchodząc na /* widział to samo, co zobaczyłby pod /public/*?
To generuje error 500 (3 linia - zakomentowanie jej powoduje error 404):
Kod
RewriteEngine On
       RewriteBase /
       RewriteRule ^(.*)$ public/$1
       RewriteCond %{HTTP_HOST} ^moja-strona.pl(.*) [NC]
       RewriteRule ^(.*)$ http://www.moja-strona.pl/$1 [R=301,L]
ShadowD
Nie wiem czy przekombinowałeś z niewiedzy czy masz jakieś inne warunki, to co opisałeś możesz uzyskać:

Kod
RewriteEngine On
        RewriteRule ^/?(.*)$ /public/$1 [NC,L]


Z tego co mi wiadomo [R] z [L] się wykluczają więc nie mogą być w jednej fladze. haha.gif
infoo1
Nie wykluczają się. Na wielu stronach, na których były kody przekierowań z bez www na www, właśnie tak było podane. Poza tym, cały kod działa, oprócz tej niewidocznej zmiany katalogu.
Teraz mam:
Kod
RewriteEngine On
RewriteRule ^/?(.*)$ /public/$1 [NC,L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
I nadal error 500 :/
erix
To sobie zobacz, czy to WWW masz dobrze. tongue.gif

http://eriz.pcinside.pl/weblog/mod_rewrite...ac-208.html#t43
infoo1
WWW jest dobrze, bo po zakomentowaniu linii "RewriteRule ^/?(.*)$ /public/$1 [NC,L]" nie ma e500 i przekierowuje na www.domena.
erix
A masz w ogóle Rewrite włączone...?
infoo1
Tak.
erix
Hmm, a katalog public masz w głównym całego drzewa, czy konta?

Bo to jest różnica. tongue.gif
infoo1
D:/www/public/
D:/www/.htaccess

Przykład:
http://localhost/aaa.php = D:/www/public/aaa.php
erix
To pomiń może tego slesza przed public.
infoo1
Nadal error 500 ;/
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.