Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne].htaccess - część stron jako podstrony
-kszymon-
post
Post #1





Goście







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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
kpt_lucek
post
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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;?>">


Ten post edytował kpt_lucek 13.08.2013, 03:23:36
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 20:30