Перейти к публикации

Рекомендованные сообщения

Всем привет.

Здесь уже была подобная тема, но что-то я не нашёл.

В общем проверяющие органы требуют на сайтах образовательных организации выкладывать файлы с прямыми ссылками, которые будут соответствовать категориям. Например, есть категория "Еда", то ссылки на файлы в этой категории должны выглядеть примерно так
сайт.ру/food/file.doc

Может кто уже реализовал подобные?

Заранее признателен всем за подсказку.

Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, Captain сказал:

Вручную, путём создания соответствующих директорий в корне сайта.

 

А мог бы не флудить ради своей рефки. Господи.

Ссылка на сообщение
Поделиться на других сайтах

Можно формировать такие ссылки на основе первой категории новости, к которой этот файл добавлен.

Ссылка на сообщение
Поделиться на других сайтах
16 минут назад, MSK сказал:

Можно формировать такие ссылки на основе первой категории новости, к которой этот файл добавлен.

Подскажешь как?

Ссылка на сообщение
Поделиться на других сайтах

Переписать обработку attachment и добавить в htaccess обработку прямых урлов

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, radrigo сказал:

Подскажешь как?

1. Открыть .htaccess найти

RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]

После вставить

RewriteRule ^static/([0-9]+):([^/]*)$ index.php?do=download&id=$1&area=static [L]
RewriteRule ^([^.]+)/([0-9]+):([^/]*)$ index.php?do=download&id=$2 [L]

2. Установить плагин

<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>Замена ссылок для файлов</name>
	<description>by lazydev.pro</description>
	<icon></icon>
	<version></version>
	<dleversion></dleversion>
	<versioncompare>less</versioncompare>
	<upgradeurl></upgradeurl>
	<filedelete>0</filedelete>
	<needplugin></needplugin>
	<mnotice>0</mnotice>
	<mysqlinstall><![CDATA[]]></mysqlinstall>
	<mysqlupgrade><![CDATA[]]></mysqlupgrade>
	<mysqlenable><![CDATA[]]></mysqlenable>
	<mysqldisable><![CDATA[]]></mysqldisable>
	<mysqldelete><![CDATA[]]></mysqldelete>
	<phpinstall><![CDATA[]]></phpinstall>
	<phpupgrade><![CDATA[]]></phpupgrade>
	<phpenable><![CDATA[]]></phpenable>
	<phpdisable><![CDATA[]]></phpdisable>
	<phpdelete><![CDATA[]]></phpdelete>
	<notice><![CDATA[]]></notice>
	<file name="engine/modules/functions.php">
		<operation action="replace">
			<searchcode><![CDATA[$db->query( "SELECT * FROM " . PREFIX . "_files WHERE $where" );]]></searchcode>
			<replacecode><![CDATA[$db->query( "SELECT f.*, p.category FROM " . PREFIX . "_files f LEFT JOIN " . PREFIX . "_post p ON(p.id=f.news_id) WHERE $where" );]]></replacecode>
		</operation>
		<operation action="replace">
			<searchcode><![CDATA[$tpl->set( '{link}', $config['http_home_url']."index.php?do=download&id=".$row['id'].$area_link );]]></searchcode>
			<replacecode><![CDATA[$tpl->set('{link}', $config['http_home_url'] . ($area_link ? 'static/' : get_url(intval($row['category']))  . '/') . $row['id'] . ':' . $row['name']);]]></replacecode>
		</operation>
	</file>
</dleplugin>

 

Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, Gameer сказал:

1. Открыть .htaccess найти


RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]

После вставить


RewriteRule ^static/([0-9]+):([^/]*)$ index.php?do=download&id=$1&area=static [L]
RewriteRule ^([^.]+)/([0-9]+):([^/]*)$ index.php?do=download&id=$2 [L]

2. Установить плагин


<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>Замена ссылок для файлов</name>
	<description>by lazydev.pro</description>
	<icon></icon>
	<version></version>
	<dleversion></dleversion>
	<versioncompare>less</versioncompare>
	<upgradeurl></upgradeurl>
	<filedelete>0</filedelete>
	<needplugin></needplugin>
	<mnotice>0</mnotice>
	<mysqlinstall><![CDATA[]]></mysqlinstall>
	<mysqlupgrade><![CDATA[]]></mysqlupgrade>
	<mysqlenable><![CDATA[]]></mysqlenable>
	<mysqldisable><![CDATA[]]></mysqldisable>
	<mysqldelete><![CDATA[]]></mysqldelete>
	<phpinstall><![CDATA[]]></phpinstall>
	<phpupgrade><![CDATA[]]></phpupgrade>
	<phpenable><![CDATA[]]></phpenable>
	<phpdisable><![CDATA[]]></phpdisable>
	<phpdelete><![CDATA[]]></phpdelete>
	<notice><![CDATA[]]></notice>
	<file name="engine/modules/functions.php">
		<operation action="replace">
			<searchcode><![CDATA[$db->query( "SELECT * FROM " . PREFIX . "_files WHERE $where" );]]></searchcode>
			<replacecode><![CDATA[$db->query( "SELECT f.*, p.category FROM " . PREFIX . "_files f LEFT JOIN " . PREFIX . "_post p ON(p.id=f.news_id) WHERE $where" );]]></replacecode>
		</operation>
		<operation action="replace">
			<searchcode><![CDATA[$tpl->set( '{link}', $config['http_home_url']."index.php?do=download&id=".$row['id'].$area_link );]]></searchcode>
			<replacecode><![CDATA[$tpl->set('{link}', $config['http_home_url'] . ($area_link ? 'static/' : get_url(intval($row['category']))  . '/') . $row['id'] . ':' . $row['name']);]]></replacecode>
		</operation>
	</file>
</dleplugin>

 

Спасибо большое. Отлично работает)

Ссылка на сообщение
Поделиться на других сайтах
03.06.2021 в 15:45, Gameer сказал:

А мог бы не флудить ради своей рефки. Господи.

Главное сам не описайся, если не умеешь переформулировать вопросы и ответы, и поправлять ответы, отвечать не нужно, не интересно.

Ссылка на сообщение
Поделиться на других сайтах
18 минут назад, Captain сказал:

Главное сам не описайся, если не умеешь переформулировать вопросы и ответы, и поправлять ответы, отвечать не нужно, не интересно.

Ясно, дурачок.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...