Η εφαρμογή Facebook φιλοξενείται σε server μου, ας πούμε, http://server.com/projects/fbapp/ , αλλά θεωρείται μόνο ποτέ στο Facebook σε, για παράδειγμα, http://apps.facebook.com/fbapp/ .
Χρησιμοποιώντας CakePHP αυτό αποτελεί πρόβλημα - θα πρέπει δρομολόγια να το πρόθεμα «/ έργο / fbapp» ή απλά «fbapp»;
Είναι ένα πρόβλημα, διότι οι διαδρομές που χρησιμοποιούνται όχι μόνο για τη δρομολόγηση των εισερχόμενων αιτήσεων, αλλά και για τη δημιουργία συνδέσμων (και αποτελούν ενέργειες κλπ).
Ως kludge, έχω τώρα δύο δρομολόγησης εντολών ανά διαδρομή:
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
Router::connect('projects/fbapp/pages/*', array('controller' => 'pages', 'action' => 'display'));
Με το πρώτο δεν απαιτείται πρόθεμα λόγω της γραμμής που έχω περιλαμβάνονται στο bootstrap.php:
Configure::write('App.base', '/fbapp');
Που ξεκινά κατά τη διάρκεια αντίστροφη δρομολόγησης εργασιών.
Η ερώτησή μου είναι αν υπάρχει ένας πιο κομψός τρόπος για να γίνει αυτό; Αυτό φαίνεται πολύ άσχημο και είμαι σίγουρος ότι δεν είναι πολύ ανομοιόμορφη.













