Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne].htaccess - część stron jako podstrony
Forum PHP.pl > Forum > Przedszkole
kszymon
Witam,

Robię pewną stronę i chciałbym umieścić przyjazne adresy poprzez plik .htaccess. Obecnie strona wisi na serwerze lokalnym (używam xamppa). Wszystkie pliki strony są w głównym katalogu i mają rozszerzenie .php. Jedyne co do tej pory udało mi się zrobić to pozbycie się niechcianych rozszerzeń. Jednak w kilku przypadkach niektóre strony ma "udawać" podstrony i tutaj jest problem.

Pliki, które mają taki format:
Kod
nazwa.php
wyświetlają się w porządku czyli
Cytat
mojastrona/nazwa


Jednak część z nich ma format następujący:
Kod
nazwa1-nazwa2.php
nazwa1-nazwa2-nazwa3.php
i chciałbym żeby wyświetlały się odpowiednio
Kod
mojastrona/nazwa1/nazwa2
mojastrona/nazwa1/nazwa2/nazwa3


Skleciłem coś takiego, jednak nie działa (wygląda na to że się gryzie). Pojedynczo sprawia wrażenie poprawnego działania, jednak jest problem - nie pobiera style.css, który też jest w głównym katalogu (moja strona posiada też reset.css). Oto plik .htaccess:
Kod
Options FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f

RewriteRule ^(.*)$ $1.php [NC,L]
RewriteRule ^(.*)/(.*)$ $1-$2.php [NC,L]
RewriteRule ^(.*)/(.*)/(.*)$ $1-$2-$3.php [NC,L]


Mam nadzieję, że to, co dla mnie jest problemem dla Was nim nie będzie i uzyskam tutaj pomoc.
kpt_lucek
Nie najlepszy sposób, ale częściowo załatwi Twój problem:

  1. // www.mojastrona.pl/nazwa1/nazwa2
  2. $requestURI = explode('/', $_SERVER['REQUEST_URI']);
  3. print_r($requestURI);
  4. /*
  5. Array
  6. (
  7.   [0] =>
  8.   [1] => nazwa1
  9.   [2] => nazwa2
  10. )
  11. */

.htaccess:
Kod
#[...]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php

  1. <?php
  2. $base = $_SERVER['SERVER_NAME']);
  3. ?>
  4. <!-- w head -->
  5. <BASE href="<?php echo $base;?>">
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.