Путь часто определяется самим процессом. Если вы посмотрите на результат процесса сборки, вы увидите, что он записывается в разные каталоги по мере подготовки к следующему этапу процесса.
Проще говоря, если вы измените абсолютные пути на относительный (и все ваши исходные файлы должны быть в полезной нагрузке вашего SRPM или перемещены в дерево исходных текстов перед сборкой, если это новая сборка), то большая часть этих проблем будет с радостью уходи.
Также, используя эхо в разделе% prepare, посмотрите на тупые уловки с домашними животными вроде
% prepare echo% (dirname% {Source0}) echo% (basename% { S: 1})
Когда вы абсолютно уверены, что вам обязательно нужно устроить такой ужастик, такой беспорядок вам пригодится. Если можете, сохраните это как раритет.
Кто-то лучше меня: если вы видите этот пост, напомните мне, как заставить его разрешать этот% () ТОЛЬКО один раз, а не каждый раз, когда это необходимо?
Похоже, что ваш RewriteCond
вообще не соответствует *.pdf
файлам. Попробуйте добавить следующий шаблон в свой RewriteCond
.
|(.+)\.pdf
Посмотрите на ссылки, которые я помещаю ниже. Более или менее форма RewriteCond
зависит от версии Apache
, которую вы используете на своем сервере. Ссылки представляют собой неплохие письменные примеры.
Из соображений безопасности (в зависимости от приложения, которое вы хотите обслуживать, и его логики ), я бы добавил еще несколько условий, прежде чем переписывать. Проверка, существует ли ваш файл и не является ли он каталогом. Но, как я уже сказал, все зависит от логики приложения.
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !-d
Ссылки: