php.de

Zurück   php.de > Webentwicklung > Server, Hosting und Workstations

Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.04.2010, 06:55  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard .htacces - RewriteRule für js&css

Hallo Community,

ich habe folgendes Problem:
Ich ich möchte in meiner Applikation Standardmäßig auf die index.php umleiten.
Javascripte, css und Bilder sollen aber davon verschont bleiben.

aktuelle .htaccess
Code:
RewriteEngine on

RewriteRule !\.(js|css|ico|gif|jpg|png|pdf)$ index.php
RewriteRule ^(public\/layout|public\/js|public\/images)/(.+)\.(js|css|gif|jpg|png|pdf)$ $1/$2.$3
für die normalen website funktioniert das ganze auch:
Code:
http://scrm.zf/
wird korrekt rewritet.

Sobald ich aber einen Aufruf in der Art mache
Code:
http://scrm.zf/index/index
Kackt mir die Applikation ab und findet kein js und css mehr

Sobald ich aber jetzt im tpl. eine js oder css datei drin habe steht an der stelle an der eingebunden wird folgender Fehler:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head>
<title>Objekt nicht gefunden!</title>
<link rev="made" href="mailto:admin@localhost.de" />
<style type="text/css"><!--/*--><![CDATA[/*><!--*/
 body { color: #000000; background-color: #FFFFFF; }
 a:link { color: #0000CC; }
 p, address {margin-left: 3em;}
 span {font-size: smaller;}
/*]]>*/--></style>
</head>

<body>
<h1>Objekt nicht gefunden!</h1>
<p>


 Der angeforderte URL konnte auf dem Server nicht gefunden werden.



 Der Link auf der
 <a href="http://scrm.zf/index/index%3fpage=1">verweisenden
 Seite</a> scheint falsch oder nicht mehr aktuell zu sein.
 Bitte informieren Sie den Autor
 <a href="http://scrm.zf/index/index%3fpage=1">dieser Seite</a>
 &uuml;ber den Fehler.



</p>
<p>
Sofern Sie dies f&uuml;r eine Fehlfunktion des Servers halten,
informieren Sie bitte den
<a href="mailto:admin@localhost.de">Webmaster</a>
hier&uuml;ber.

</p>

<h2>Error 404</h2>
<address>
 <a href="/">scrm.zf</a><br />
 
<span>24.04.2010 06:45:57<br />
 Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1</span>
</address>
</body>
</html>
So meine css, js und images liegen im in folgenden Verzeichnissen:
Code:
{DOC_ROOT}
    public
        layout
            images    (für die css)
        js
            tpl          (hier liegen template spezifische js dateien)
            (globale js-dateien wie jquery.js)
        images
            (diverse unterordner)
Kann mir jemand helfen und verraten, was ich bei meiner RewriteRule noch alles vergessen habe?
Paul.Schramenko ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.04.2010, 08:29  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

moin moin zusammen,
keiner ne Idee? Ich hab mal ein wenig rumgespielt und folgendes festgestellt:

Code:
/* funktioniert */
<link href="http://scrm.zf/public/layout/style.css" rel="stylesheet" type="text/css" media="screen" />

/* Funktioniert NICHT */
<script type="text/javascript" src="public/js/jquery-1.js"></script>
Kann mir das jemand erklären? Normalerweise gibt man die Pfadangaben doch relativ an, oder?
Paul.Schramenko ist offline   Mit Zitat antworten
Alt 24.04.2010, 08:50  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.991
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Lass mal die zweite Rule komplett weg.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 24.04.2010, 17:30  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Paul.Schramenko Beitrag anzeigen
keiner ne Idee?
Doch - mal das RewriteLog einschalten.
Damit kannst du nachvollziehen, was beim Rewriting überhaupt alles passiert. Das macht auch einige Zusammenhänge transparenter.

Zitat:
Kann mir das jemand erklären? Normalerweise gibt man die Pfadangaben doch relativ an, oder?
Mach dir bitte klar, woraus der Client bei Angabe eines relativen Pfades die Adresse für den Request zusammensetzt.
ChrisB ist offline   Mit Zitat antworten
Alt 24.04.2010, 17:53  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Schau dir doch mal die mod_rewrite Rule an die im Zend Framework Handbuch gegeben ist. Wieso nutzt du nicht einfach die?
Flor1an ist offline   Mit Zitat antworten
Alt 26.04.2010, 10:31  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

So vielen Dank für die Antworten:
Habs irgendwie hinbekommen, zwar keine suabere Lösung, aber sie funktioniert!

Als erstes mal zu den einzelnen Antworten:
Zitat:
Zitat von Flor1an Beitrag anzeigen
Schau dir doch mal die mod_rewrite Rule an die im Zend Framework Handbuch gegeben ist. Wieso nutzt du nicht einfach die?
Das Problem dabei ist, ich verwende kein Zend_Framework, ich hab meine eigene MVC geschrieben.


Zitat:
Zitat von ChrisB Beitrag anzeigen
Doch - mal das RewriteLog einschalten.
Damit kannst du nachvollziehen, was beim Rewriting überhaupt alles passiert. Das macht auch einige Zusammenhänge transparenter.
Danke für den Tipp, werde ich mal local konfigurieren. Hab gar nicht dran gedacht. Kann ich in Zukunft dann evt, schneller Fehler finden...


Zitat:
Zitat von ChrisB Beitrag anzeigen
Mach dir bitte klar, woraus der Client bei Angabe eines relativen Pfades die Adresse für den Request zusammensetzt.
die Adresse scheint, mir zumindest, richtig zu sein. Über Firebug wird folgende scr angezeigt:
Code:
./public/js/jquery-1.js

Zitat:
Zitat von nikosch Beitrag anzeigen
Lass mal die zweite Rule komplett weg.
Die brauche ich aber, da ich alle PHP-Dateien auf die index.php rewriten möchte.


ICh verstehe nur leider nicht ganz, wieso ich denn die die Domain mit angeben muss. Weil doch die Pfadangaben im scr-Tag doch relativ sein sollten oder?
Paul.Schramenko ist offline   Mit Zitat antworten
Alt 26.04.2010, 10:35  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Paul.Schramenko Beitrag anzeigen
ICh verstehe nur leider nicht ganz, wieso ich denn die die Domain mit angeben muss. Weil doch die Pfadangaben im scr-Tag doch relativ sein sollten oder?
Da du es offenbar noch nicht verstanden hast, wiederhole ich mal:
Zitat:
Zitat von ChrisB
Mach dir bitte klar, woraus der Client bei Angabe eines relativen Pfades die Adresse für den Request zusammensetzt.
Mit "./public/js/jquery-1.js" hast du eine Angabe gemacht, die sich auf das aktuelle Verzeichnis bezieht. Und welches ist das, unter welcher Adresse rufst du das HTML-Dokument ab ...?
ChrisB ist offline   Mit Zitat antworten
Alt 26.04.2010, 10:49  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

rein prizipiell, ist wird auf die index.php rewritet, die im DOC_ROOT liegt.
Der Rest wird von da includiert
Das Skript, dass das ganze aufruft, liegt im:
DOC_ROOT/application/controller/IrgendWasController.php

Ich finds nur geil, dass der der absulute Pfad:
href="http://scrm.zf/public/layout/style.css"
in ded css und js-dateien geht, aber der relative nit
Paul.Schramenko ist offline   Mit Zitat antworten
Alt 26.04.2010, 12:01  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Ich glaube dein Verständnis von relativ und absolut entspricht nicht ganz dem wie es im Browser umgesetzt wird.
Relativ ist NICHT relativ zur Domain.
Sondern relativ zum aktuellen PFAD!

Relativ:
Dokumenturl: http://www.example.com/public/controller/action/
Script-Url: ./public/js/jquery-1.js
resultierende url: http://www.example.com/public/contro...js/jquery-1.js

Absolut ohne domain:
Dokumenturl: http://www.example.com/public/controller/action/
Script-Url: /public/js/jquery-1.js
resultierende url: http://www.example.com/public/js/jquery-1.js

Absolut mit domain:
Dokumenturl: http://www.example.com/public/controller/action/
Script-Url: http://www.example.com/public/js/jquery-1.js
resultierende url: http://www.example.com/public/js/jquery-1.js
robo47 ist offline   Mit Zitat antworten
Alt 26.04.2010, 12:08  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.991
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Mit zweite Rule meinte ich zweite Rule, nicht zweite Angabe!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mod_rewrite problem aniga_de Server, Hosting und Workstations 6 26.01.2010 21:26
htaccess wenn datei nicht existiert J_Jara Server, Hosting und Workstations 6 13.01.2010 17:12
RewriteRule führt zu Internal Error AUSTRIA Server, Hosting und Workstations 5 08.01.2010 17:28
[Erledigt] mod_rewrite hell - REQUEST_FILENAME funktioniert nicht zusammen mit Rewrit choice Server, Hosting und Workstations 4 28.12.2009 13:24
htaccess RewriteRule reguläre ausdrücke J_Jara PHP Tipps 2009 6 04.11.2009 16:20
Kein Zugriff! yannicf PHP Tipps 2009 1 16.03.2009 13:08
[Erledigt] htaccess RewriteRule cosmicadi PHP Tipps 2009 5 17.02.2009 16:17
RewriteRule Frage mokus Server, Hosting und Workstations 5 30.04.2007 15:12
/kategorie auf / weiterleiten htaccess ypsie PHP Tipps 2006 9 13.10.2006 14:47
[Erledigt] RewriteRule klappt einfach nicht vollständig Server, Hosting und Workstations 3 03.12.2005 23:23
[Erledigt] .htacces &quot;verhält sich seltsam&quot; Server, Hosting und Workstations 12 05.04.2005 18:22
Error 500 bei .htaccess test022 PHP Tipps 2005 18 10.02.2005 17:11
RewriteRule im PHP Modul PHP Tipps 2004 1 11.09.2004 12:42
[Erledigt] RewriteRule??? Server, Hosting und Workstations 2 20.08.2004 10:21
[Erledigt] Mime-Type über RewriteRule setzen Server, Hosting und Workstations 1 17.06.2004 04:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/server-hosting-und-workstations/67235-htacces-rewriterule-fuer-js-css.html, rewriterule relativ, zend framework rewrite rule image, google und rewriterule adresse, rewriterule ^js/, rewriterule !\\.(js|ico|gif|jpg|png|css)$ index.php, rewriterule !\\.(js|ico|txt|gif|jpg|png|css)$ index.php, htacces rewriterule, charset zend php 5.3 jquery error 500, rewriterule css path, htaccess rewrite nicht css, rewrite rule js nach php umleiten, rewriterule zend javascript, scrm.zf, rewriterule bilder, relative pfadangaben rewriterule, direktzugriff auf css dateien rewriterule, rewriterule pfadangabe, rewriterule auch bilder css js, php htaccess rewriterule css

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum