A CakePHP, lehetséges, hogy a belső és külső útvonalakon?

szavazat
1

A Facebook app házigazdája az én szerver, mondjuk, http://server.com/projects/fbapp/ , de mindig csak nézett a Facebook-on, például http://apps.facebook.com/fbapp/ .

CakePHP használatával ez gondot - kell-e az útvonalakat előtaggal „/ projekt / fbapp” vagy csak „fbapp”?

Ez egy probléma, mert útvonalakat használják nem csak a routing bejövő kéréseket, hanem előállító kapcsolatok (és forma akciók, stb.)

Mint kludge, most van két útvonal utasítást egy útvonalat:

Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
Router::connect('projects/fbapp/pages/*', array('controller' => 'pages', 'action' => 'display'));

Az első nem igénylő előtagot, mert egy sor már bele, hogy bootstrap.php:

Configure::write('App.base', '/fbapp');

Melyik rúgások során fordított útvonal műveleteket.

A kérdésem az, hogy van egy sokkal elegánsabb módja ennek? Úgy tűnik, ez nagyon csúnya, és biztos vagyok benne, hogy ez nem túl cakey.

A kérdést 13/05/2009 00:16
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
1

Kereszt kiküldetés én comment igény:

Nem lenne egy (apache) újraírása a forgalom facebook legelegánsabb megoldás? A belső gép csak kell foglalkozni egy út, és ha akarta, hogy integrálja az alkalmazást egy másik szolgáltatás / platform egy későbbi időpontban, akkor csak egy újabb átírási szabály helyett Messiás maga az alkalmazás.

Válaszolt 18/05/2009 03:44
a forrás felhasználó

szavazat
1

Kérek egy go alapján Ask Apache és néhány szabály, amit életbe egy pár régi projekteket. Azt hiszem, amivel azt a .htaccess fájlt a Webroot ranccsal (de ez a becslés).

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^/projects/fbapp/pages.*
RewriteRule ^/projects/fbapp/pages/(*)$ /pages/$1 [L]

A fentiek nem (ha jól csináltad) átírják minden kérést illő http://server.com/projects/fbapp/pages/ * a http://server.com/pages/ * azaz http://server.com/ projektek / fbapp / pages / foo => http://server.com/pages/foo .

Szerkesztése Talált ezt küldte az Apache részben.

Válaszolt 18/05/2009 21:38
a forrás felhasználó

szavazat
1

Nem kell tenni semmit! Cake lesz vigyázni alap URL neked, így nem kell megismételni az útvonalakon, sem vigyázni az alap URL. Mit kell tennie, hogy az útvonalat a relatív URL használata helyett projects/fbapp/, vagy bármi előtag a kezelni kívánt:

Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));

Ez hogyan kezeli az összes kérelmet az én app, amit telepíteni alatt http://www.example.com, míg a helyben van ez alatt http://localhost/workspace/example.com/trunk/deploy. Úgy működik, mint egy bájos mindkét környezetben.

Válaszolt 22/05/2009 17:45
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more