Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przepisywanie adresów mod_rewrite
adamantd
post 26.01.2013, 20:12:10
Post #1





Grupa: Zarejestrowani
Postów: 228
Pomógł: 7
Dołączył: 15.08.2012
Skąd: Rzeszów

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


Mam problem ze znakiem / tzn.
przepisując np:

  1.  
  2. RewriteRule ^Rower-([0-9]+)/?$ index.php?action=rower&pageviews=$1 [L] //DZIAŁA
  3.  
  4. RewriteRule ^Rower/([0-9]+)/?$ index.php?action=rower&pageviews=$1 [L] //NIE DZIAŁA
  5.  
  6.  


wszystko jest ok wpisując adres w pasek:
http://localhost/Sport/Rower-2 //odnośnie pierwszego przykładu

i wszystko działa ale ja nie chcę myślnika tylko znak /

a kiedy zastosuję drugi przykład i w pasek wrzucę adres:
http://localhost/Sport/Rower/2

wszystkie skrypty działają ale tak jakby nie wczytuje mi css. Jest goła strona z treścią tą która powinna być ale bez css

dlaczego?

próbowałem poprzedzać ten znak znakiem \ tak jak w regularnych w php ale nie pomaga -co dziwne przecinek też działa i teoretycznie mógłbym się nim zaspokoić ale nie da mi to spokoju, nie lubię kompromisów

Ten post edytował adamantd 26.01.2013, 20:14:57
Go to the top of the page
+Quote Post
Evinek
post 26.01.2013, 20:15:08
Post #2





Grupa: Zarejestrowani
Postów: 280
Pomógł: 46
Dołączył: 23.03.2010

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


Było nie raz.
Musisz używać ścieżek bezwzględnych do CSS, linków, obrazków itp.
http://adres.pl/css/style.css
albo
/css/style.css
Go to the top of the page
+Quote Post
aras785
post 26.01.2013, 20:19:43
Post #3





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


Przed daj:

Kod
RewriteRule .* index.php


co do styli to: base
Go to the top of the page
+Quote Post
adamantd
post 26.01.2013, 20:40:10
Post #4





Grupa: Zarejestrowani
Postów: 228
Pomógł: 7
Dołączył: 15.08.2012
Skąd: Rzeszów

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


Przerobienie ścieżek do styli css na bezwzględne pomaga a ułatwia w tym <base> tylko, że teraz kiedy dorzuciłem:

  1.  
  2. <base href="http://localhost/Sport/css/">
  3.  


każdy link na stronie na który kliknę jest poprzedzony w urlu tą ścieżką, przez co aplikacja nie działa poprawnie -jak zatem zrobić żeby ten znacznik base odnosił się tylko do styli css? czy jest to w ogóle możliwe?

aras785:
  1. RewriteRule .* index.php

nie pomaga

Poprawka rozgryzłem to już działa
Go to the top of the page
+Quote Post
aras785
post 26.01.2013, 20:40:24
Post #5





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


htaccess sprobuj tego:
Kod
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d



to dobrze, że się udało. Daj rozwiązanie na forum smile.gif

Ten post edytował aras785 26.01.2013, 20:41:21
Go to the top of the page
+Quote Post
adamantd
post 26.01.2013, 20:42:29
Post #6





Grupa: Zarejestrowani
Postów: 228
Pomógł: 7
Dołączył: 15.08.2012
Skąd: Rzeszów

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


Poprawki jakie wprowadziłem:


znacznik base wygląda tak:
  1.  
  2. <base href="http://localhost/Sport/">
  3.  


a w .htaccess wywaliłem

  1. RewriteRule .* INDEX.php


Dzięki za wszelką pomoc
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 07:33