• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

.htaccess a problem z css

Object Storage Arubacloud
0 głosów
322 wizyt
pytanie zadane 11 stycznia 2020 w HTML i CSS przez Damianek Obywatel (1,020 p.)
edycja 11 stycznia 2020 przez Damianek

Witam, stworzyłem plik .htaccess o treści: 

RewriteEngine on


RewriteCond %{REQUEST_FILENAME} 	!-f 
RewriteCond %{REQUEST_FILENAME} 	!-d 
RewriteCond %{REQUEST_FILENAME} 	!-l   
   
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

Od teraz wszystko co napiszę przekierowuje mnie na index.php.

W pliku index znajduje się router, który pobiera z $_GET cały url, a następnie funkcją explode tworzy tablicę z elementów oddzielonych "/". Później funkcja sprawdza, czy istnieje plik, który stanowi indeks [0] tej tablicy + ".php". 

I jeśli taki plik jest, to go otwiera. Jeśli nie ma, to nic się nie dzieje, po prostu przekierowuje na index.php.

Natomiast problem istnieje w momencie kiedy np. istnieje plik, ale ktoś wpisze z palca do url kolejne elementy.

Przykładowo wszystko otwiera się ok jeśli wpiszemy z palca www.domena.pl/blog

ale jeśli już wpiszemy www.domena.pl/blog/asd

to otwiera się treść pliku blog, jednak padają wszystkie css, dołączone obrazki itd. Pojawia się sama treść.

App.php

<?php

class App {
	
	protected $controller = 'Home';
	
	public function __construct() {
		
		$url = $this->parseUrl();
		
		if (file_exists( 'controllers/'  .$url [0] . '.php')) {
			
			$this->controller = $url [0];
			unset($url[0]);
			
		} 
	
			require_once 'controllers/' . $this->controller . '.php';
		
	}
	
	public function parseUrl() {
		
		if (isset($_GET['url'])) {
		
		return $url = explode ('/', filter_var(rtrim($_GET['url'], '/') , FILTER_SANITIZE_URL));
			
		}
		
	}
	
}

?>

 

I jeszcze Index.php:

<?php 

require_once 'App.php';

$router = new App();

?>

 

1 odpowiedź

0 głosów
odpowiedź 11 stycznia 2020 przez Ehlert Ekspert (212,670 p.)
Nie korzystaj z htaccess, tylko z $_SERVER[REQUEST_URI].
komentarz 11 stycznia 2020 przez Damianek Obywatel (1,020 p.)
Ale to w ogóle mam nie przekierowywać w htaccess strony na index?

Podobne pytania

0 głosów
0 odpowiedzi 136 wizyt
+1 głos
3 odpowiedzi 522 wizyt
pytanie zadane 11 października 2016 w PHP przez Adux Obywatel (1,740 p.)
+1 głos
0 odpowiedzi 120 wizyt
pytanie zadane 9 stycznia 2021 w PHP przez CSSoup Mądrala (6,460 p.)

92,555 zapytań

141,403 odpowiedzi

319,558 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...