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

.htaccess a problem z css

Mały hosting, OGROMNE możliwości
0 głosów
612 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 (215,210 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 264 wizyt
+1 głos
3 odpowiedzi 835 wizyt
pytanie zadane 11 października 2016 w PHP przez Adux Obywatel (1,740 p.)
+1 głos
0 odpowiedzi 195 wizyt
pytanie zadane 9 stycznia 2021 w PHP przez CSSoup Mądrala (6,460 p.)

93,718 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,265 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...