.htaccess эквивалент baseurl? - PullRequest
       6

.htaccess эквивалент baseurl?

0 голосов
/ 01 апреля 2010

Я пытаюсь установить Symfony на общем сервере и пытаюсь продублировать команду httpd.conf:

# Be sure to only have this line once in your configuration
NameVirtualHost 127.0.0.1:8080

# This is the configuration for your project
Listen 127.0.0.1:8080

<VirtualHost 127.0.0.1:8080>
  DocumentRoot "/home/sfproject/web"
  DirectoryIndex index.php
  <Directory "/home/sfproject/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf /home/sfproject/lib/vendor/symfony/data/web/sf
  <Directory "/home/sfproject/lib/vendor/symfony/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Мне нужно сделать это, используя .htaccess

Часть перенаправления была сделана в корне, используя следующее:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^symfony.mysite.ca [nc]
rewriterule ^(.*)$ http://symfony.mysite.ca/web/$1 [r=301,nc] 

Для псевдонима я попытался использовать:

RewriteBase /

но безуспешно.

Основная проблема заключается в том, что файл index.php, находящийся в папке / web, использует путь / web в своем пути к изображениям и сценариям. Так что вместо

href="/css/main.css"  //this would work

используется

href="/web/css/main.css"  //this doesn't work, already in the /web/ directory!

Есть идеи? Спасибо!

1 Ответ

0 голосов
/ 01 апреля 2010

Вы можете использовать ...

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

для предотвращения перезаписи URL-адресов, относящихся к реальным файлам, что предотвращает добавление общей перезаписи в секунду /web в URL.

...