Wielki problem z pliczkiem .htaccess :(, Bardzo proszę o pomoc

0

Cześć,

Zarejestrowałam się tu na forum w nadziei, że znajdę pomoc. Większość wyników Google wskazuje właśnie na tę stronę, dlatego postanowiłam spróbować właśnie tu :)

Mam własną stronę http://www.jakaś-tam-strona.pl zbudowaną na CakePHP. Na serwerze jest katalog: /jakaś-tam-strona.pl a w tym katalogu katalog /public_html, gdzie trzymane są pliki strony. Czyli struktura wygląda tak: jakaś-tam-strona.pl/public_html. W katalogu public_html mam następujące katalogi: /app, /cake, /vendors, /tmp.

Chciałam założyć dodatkową stronę pod adresem http://www.jakaś-tam-strona.pl/monia. Zatem wgrałam na serwer katalog: jakaś-tam-strona.pl/public_html/monia. Oczywiście strona ta nie wyświetla się. Doczytałam w sieci, że trzeba zmodyfikować plik .htaccess. Nie mam jednak pojęcia jak to zrobić.

W katalogu jakaś-tam-strona.pl/public_html/ plik .htaccess ma treść:

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteRule ^$ app/webroot/ [L]
 RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

A w katalogu /app plik .htaccess wygląda tak:

W katalogu /kasia stworzyłem plik .htaccess, który wygląda tak:

 <IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteRule ^$ webroot/ [L]
 RewriteRule (.*) webroot/$1 [L]
 </IfModule>

Rozumiem, że muszę przeedytować plik .htaccess w katalogu jakaś-tam-strona.pl/public_html oraz że muszę stworzyć plik .htaccess w katalogu jakaś-tam-strona.pl/public_html/monia. Czy mam rację? Jeśli tak, to bardzo proszę o pomoc. Jak to poprawnie zrobić? Co powinny zawierać te dwa pliki, aby to zadziałało? Dopiero uczę się obsługi serwera i idzie mi to dość ciężko :(

Będę naprawdę bardzo wdzięczna za pomoc.

Pozdrawiam cieplutko,
Monia

0

Skonstruowany jest w ten sposób, by przekierowywał absolutnie wszystko do app/webroot/. Jeśli chcesz zrobić sobie dodatkowy folder, to albo właśnie w app/webroot (i wtedy można się będzie odwoływać tak jak chcesz, czyli costam.pl/monia, magia mod_rewrite). Możesz też nieco "ładniej" dorzucić warunek.

costam.pl/public_html/.htaccess:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteCond %{REQUEST_URI} !^/monia/
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

Powinno działać, dorzucony warunek wymusza zastosowanie drugiej reguły tylko wtedy, kiedy URI oczekiwanego zasobu nie zaczyna się na /monia/. W samym folderze /monia/ nie powinno być żadnych .htaccessów z regułkami rewrite.

0
Demonical Monk napisał(a):

Skonstruowany jest w ten sposób, by przekierowywał absolutnie wszystko do app/webroot/. Jeśli chcesz zrobić sobie dodatkowy folder, to albo właśnie w app/webroot (i wtedy można się będzie odwoływać tak jak chcesz, czyli costam.pl/monia, magia mod_rewrite). Możesz też nieco "ładniej" dorzucić warunek.

costam.pl/public_html/.htaccess:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteCond %{REQUEST_URI} !^/monia/
RewriteRule (.*) webroot/$1 [L]
</IfModule>

Powinno działać, dorzucony warunek wymusza zastosowanie drugiej reguły tylko wtedy, kiedy URI oczekiwanego zasobu nie zaczyna się na /monia/. W samym folderze /monia/ nie powinno być żadnych .htaccessów z regułkami rewrite.

Wielkie dzięki! Działa! :)

Tylko mała uwaga-ciekawostka: musi być "app/webroot/", bo na początku wpisałam tak jak poradziłeś, czyli samo "webroot/" i nie działało. Ale postanowiłam spróbować drugą opcję więc dodałam "app/webroot/" i działa znakomicie.

Jeszcze raz dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1