Nasıl PHP Symfony DirectoryIndex differrent farklı sunucu adlarını eşleştirebilirsiniz?

2 Cevap php

Symfony aşağıdaki tipik .htaccess dosyası kullanır:

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

ve benim sankondan olarak bu var:

<VirtualHost 127.0.0.1:80>
    ServerName jobeet.loc
    DocumentRoot "C:/wamp/www/jobeet/web"
    DirectoryIndex index.php
<Directory "C:/wamp/www/jobeet/web">
    AllowOverride All
    Allow from All
</Directory>

Alias /sf "C:/wamp/lib/symfony-1.4.1/data/web/sf"
<Directory "C:/wamp/lib/symfony-1.4.1/data/web/sf">
    AllowOverride All
    Allow from All
</Directory>

The above works perfectly, but I want to know how to map and additional debugging url, http://jobeet.dev to automatically serve the frontend_dev.php file so I can use urls like:
http://jobeet.dev/jobs/...
instead of
http://jobeet.dev/frontend_dev.php/jobs/... to map to the debug .php file in the framework.

I tried adding a duplicate of the vhost entry and simply changing the servername and directoryindex to
ServerName jobeet.dev
DirectoryIndex frontend_dev.php
but understandably this does not work, as I believe I would need to check the URL in the .htaccess to do this?

Herkes bu ilgili bazı tavsiyelerde bulunabilir?

Thanks in advance! :)

2 Cevap

: Bu aynı hosting yapılandırmayı paylaşan böylece ilk geçerli VirtualHost ServerAlias ​​olarak jobeet.dev ekle

<VirtualHost 127.0.0.1:80>
    ServerName jobeet.loc
    ServerAlias jobeet.dev
    DocumentRoot "C:/wamp/www/jobeet/web"
    ....

İşiniz bittiğinde Apache yeniden unutmayın.

Sonra, içinde dev yapılandırmasında no_script_name açmak apps/frontend/config/settings.yml:

dev:
  .settings:
    no_script_name: true

Şimdi dev web denetleyicisi (frontend_dev.php) (), url_for (), vb (link_to itibaren) oto-oluşturulan URL'lerin görünmeyecektir.

Üretim denetleyici dev web denetleyicisine jobeet.dev de geliyor rota her şeyi oynamak için geliyor önce Son olarak, dev etki için bir RewriteRule kurmak:

  RewriteEngine on
  ...
  ...
  RewriteCond %{HOST_NAME} ^jobeet\.dev$
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ frontend_dev.php [QSA,L]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php [QSA,L]

İşte bunu yapmak gerekir.

Ben gerekli tüm ana (jobeet.loc, jobeet.dev, vb) haritasına tavsiye ederim SF_DIR/web, set index.php gibi dir-index (sizin yaptığınız gibi) ve bu dosyaya sadece $_SERVER['HTTP_HOST'] bağlı olarak belirli bir env özellikle uygulamayı çalıştırın.

Ben bir fikir net yapmak için iyi bir tarif umuyoruz.