2016-04-02 4 views
1

Ich habe einige Symfony-Komponenten versucht und es läuft relativ gut. Ich fand heraus, nach einer Reihe von googeln, dass ich brauchte die .htaccess-Datei in zumindest diese zu ändern, um für sie zu arbeiten:Wie sollte die .htaccess für Symfony-Routing aussehen

<IfDefine APACHE2> 
    AcceptPathInfo on 
</IfDefine> 
<Files "index.php"> 
    Options +Includes 
    SetOutputFilter INCLUDES 
    AcceptPathInfo On 
</Files> 

aber jetzt, wenn ich einen Anruf header() tun wollen oder haben eine img/script/stylesheet tag Ich brauche einen ../ bevor ich den Pfad eintrage. Und wenn ich einen Variablennamen habe (d. H. Pfad sieht so aus: index.php/article/32 zum Beispiel) brauche ich ../../, bevor ich den Rest des Pfades in den src oder href gebe.
Habe ich meine .htaccess-Datei falsch eingerichtet oder muss ich noch etwas anderes tun?

<img href="../PATH_TO_IMAGE"> 

für, wenn kein Platzhalter ist und wie folgt aus::

So ein img-Tag so sein würde

<img href="../../PATH_TO_IMAGE"> 

für, wenn eine Variable in dem Platzhalter Dingens da ist.

Weil ich vermute, dass es nicht so sein sollte.
Mein Routing sieht wie folgt aus:

$routes = new RouteCollection(); 
$routes->add('loginuser', new Route('/login', array('controller' => 'registeruser', 'permission' => Permissions::$public))); 

(ich auf einige Website ein Tutorial gefolgt, leider kann ich nicht scheinen, gerade jetzt zu finden)

EDIT: Ich bin nur das Routing mit Komponente und die Http Foundation-Komponente.

Vielen Dank im Voraus!

+0

Verwenden Sie die Komponente [asset] (http://symfony.com/doc/current/components/asset/introduction.html), um die URL-Generierung des Bildes zu verwalten, und die Router-Komponente, um den Pfad einer Route zu generieren. Verwenden Sie das vollständige Stack-Framework oder nur eine ausgewählte Komponente? – Federkun

+0

@Federico Ich verwende die Routing- und http-Fundamentalkomponenten. Also muss ich die Asset-Komponente dafür verwenden? – Tritzium

Antwort

0

Also löste ich dies, indem ich die Asset-Komponente von Symfony hinzufügte und ein PathPackage erstellte, das mit dem Verweis auf den Stamm und weiter in den Web-Ordner begann.

$package = new PathPackage('/ENTER_FURTHER_PATH_HERE/', new EmptyVersionStrategy()); 

echo '<img src="'. $package->getUrl('Images/icon.png') . '">'; 
echo '<a href="' . $package->getUrl('index.php/WHATEVER') . '">Link name</a>'; 
echo '<a href="' . $package->getUrl('index.php') . '">Home</a>'; 
echo '<script src="'. $package->getUrl('Scripts/JAVASCRIPT_NAME') .'"></script>'; 
echo '<link src="'. $package->getUrl('CSS/STYLESHEET_NAME') .'">'; 

(man könnte auch die PathPackage und tun wie diese überspringen, da es nicht unbedingt erforderlich ist)

echo '<a href="/ENTER_FURTHER_PATH_HERE/index.php">Home</a>; 

Wie auch immer, das ist, wie ich es gelöst. Wenn jemand einen besseren Weg kennt, kannst du es mir sagen. Es wäre sehr geschätzt.

Verwandte Themen