Piczer Opublikowano 10 Sierpnia 2010 Udostępnij Opublikowano 10 Sierpnia 2010 Chcę dołączyć plik main.css więc piszę w kodzie html tak: <link rel="stylesheet" type="text/css" href="/css/main.css" /> Wszystko ładnie ładuje, ale jak wpiszę w adresie: http: //localhost/(...)/public_html/index.php/test to wtedy nie załadowuje ścieżki. Spróbowałem stworzyć sobie helpera: function includeStylesheets() { $files = func_get_args(); foreach ( $files as $file ) { echo '<link rel="stylesheet" type="text/css" href="' .PUBPATH. 'css' .SLASH.$file. '.css" />'; } } Wcześniej oczywiście zdefiniowano z poziomu innego katalogu jednak na tym samym poziomie: define( "SLASH", DIRECTORY_SEPARATOR ); define( "PUBPATH", realpath(dirname(__FILE__).SLASH. ".." .SLASH. "public_html" ) .SLASH ); Też nie pomaga. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 10 Sierpnia 2010 Udostępnij Opublikowano 10 Sierpnia 2010 Więc w czym problem? Rewrite? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 10 Sierpnia 2010 Autor Udostępnij Opublikowano 10 Sierpnia 2010 Że nie ładuje CSSa. Zapomniałem o .htaccess, bezmyślnie zerżnięty z symfony (no prawie): Options +FollowSymLinks +ExecCGI <IfModule mod_rewrite.c> RewriteEngine On # uncomment the following line, if you are having trouble # getting no_script_name to work #RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /public_html/ [L] # we skip all files with .something RewriteCond %{REQUEST_URI} \..+$ RewriteCond %{REQUEST_URI} !\.html$ RewriteRule .* - [L] # no, so we redirect to our front web controller RewriteRule ^(.*)$ index.php?uri=$1 [QSA,L] </IfModule> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 10 Sierpnia 2010 Udostępnij Opublikowano 10 Sierpnia 2010 Generalnie to .htaccess dla mnie powinien wyglądać tak: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)$ index.php?uri=$1 [L,NC] </IfModule> I nie ma problemu jeśli pliki CSS są umieszczone na poziomie http://localhost/, ewentualnie w podkatalogu, prawda, to wtedy tylko /suburl/file.css. EDIT W sumie bez różnicy, bo rewrite nie reaguje na pliki, tylko na "abstrakcyjne" katalogi/pliki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 10 Sierpnia 2010 Autor Udostępnij Opublikowano 10 Sierpnia 2010 Tylko ten rewrite nie działa gdy wpiszę index.php/test tylko samo /test. CSS ciągle nie działa. Ścieżki ./css/main.css nie chwyta, bo szuka go w katalogu /test/css/ zamiast /css, bo dałem /test po index.php, ale tak ma być, dlatego spróbowałem bezwzględnej dlatego nie wiem czemu nie działa: PUBPATH -> D:\Serwer\www\(...)\public_html\ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 10 Sierpnia 2010 Udostępnij Opublikowano 10 Sierpnia 2010 Zrobiłem prosty test, odpaliłem ścieżkę http://localhost/dir/a/b/c, pliku index.php w http://localhost/dir/ <link rel="stylesheet" href="/dir/sub/file.css" type="text/css" /> <div id="test"> <?php var_dump( $_GET ); ?> </div> http://localhost/dir/.htaccess <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)$ index.php?uri=$1 [L,NC] </IfModule> http://localhost/dir/sub/file.css #test { background:#f00; } Działa. A czy index.php ma się pojawiać w URLu to sprawa kosmetyczna. Mi osobiście przeszkadza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 10 Sierpnia 2010 Autor Udostępnij Opublikowano 10 Sierpnia 2010 Aaa... Kapnąłem się, że ./ i / to nie to samo... Masz pomysł jak to zrobić, żeby nie trzeba było podawać podkatalogu w tej ścieżce (albo automatycznie za pomocą helpera w PHP)? A ten index.php chciałem żeby był bo w symfony dzięki temu można korzystać z wielu aplikacji podając tutaj plik rozruchowy, chociaż mój htaccess i tak nie spełniał swojego zadania chyba. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 11 Sierpnia 2010 Udostępnij Opublikowano 11 Sierpnia 2010 http: //localhost/(...)/public_html/index.php/test index.php jest katalogiem? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 11 Sierpnia 2010 Administratorzy Udostępnij Opublikowano 11 Sierpnia 2010 http: //localhost/(...)/public_html/index.php/test index.php jest katalogiem? Nie, tak można parametry przekazywać przy rewrite ;) Proponuję skonfigurować vhost na jakąś zmyśloną domenę (nie zapomnij dodać jej w hosts). Ot np. ja u siebie mam http://gm.clan ;) Edit: C:\Windows\System32\Drivers\etc\hosts 127.0.0.1 mojawlasna.domena (...)/apache/conf/extra/httpd-vhosts.conf <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName mojawlasna.domena DocumentRoot "D:/wamp/www/folder" </VirtualHost> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 11 Sierpnia 2010 Autor Udostępnij Opublikowano 11 Sierpnia 2010 Ok, działa, dzięki ;) Czy wie ktoś jak ustawić taki .htaccess? /index.php/one/two/three -> /index.php?uri=one/two/three /one/two/three -> /index.php?uri=one/two/three /other.php/one/two/three -> /other.php?uri=one/two/three Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 11 Sierpnia 2010 Administratorzy Udostępnij Opublikowano 11 Sierpnia 2010 Szybciej chyba byłoby po $_SERVER['PATH_INFO'] wrzucać zmienne do geta. Aczkolwiek .htaccess pewnie też to załatwi, tylko akurat z wyrażeń regularnych to ja jestem słaby -_- Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się