Как заставить Symfony разрешить имена файлов в качестве параметров для модуля - PullRequest
1 голос
/ 08 марта 2011

Я пытаюсь создать модуль, который управляет загрузкой файлов, поэтому, когда кто-то заходит на site.com/download/filename.pdf, он запускает модуль загрузки с параметром filename в качестве filename.pdf.

Проблемаэто правила перезаписи на Symfony, не позволяющие этого, он будет переписан.Что мне нужно добавить в .htaccess, чтобы предотвратить переписывание этих URL для файлов .doc и .pdf?Я включил файл .htaccess ниже ...

Спасибо за помощь!

S

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  # uncomment the following line, if you are having trouble
  # getting no_script_name to work
  RewriteBase /



  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

Ответы [ 2 ]

1 голос
/ 08 марта 2011

Создать маршрутный символ маршрута:

url:  /download/*

и укажите его в модуле загрузки. Какой бы маршрут не был введен, начиная с / download /, он автоматически откроет ваш модуль загрузки.

0 голосов
/ 08 марта 2011

Спасибо Джону, чтобы добавить к этому, мне также пришлось изменить сегмент_сепараторов на маршруте, чтобы остановить.интерпретируется как маркер для другого параметра, поэтому добавил это к маршруту для этого модуля в routing.yml: сегмент_сепараторы: ['-', '/', '_']

...