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

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

я не пробувал, но потом мне это нужно будет - тогда и разберусь.

Но думаю на моём виртуальном хостинге это невозможно

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

ну держи)

RewriteEngine On


# КЛИПЫ!!!

RewriteRule ^clip(/?)([^<]+)$ clip/index.php [L]

RewriteRule ^clip(/?)$ clip/index.php [L]

##################################################

### Скачивание видеофайла ###

#RewriteCond %{REQUEST_FILENAME} -f

RewriteRule ^downloadvideo/([0-9]+)/(.*)/([^<]+)$ index.php?d=video&id=$1&hash=$2 [L]

##################################################

#Регистрация

RewriteRule ^reg(/?)+$ index.php?do=register [L]


#Восстановление пароля

RewriteRule ^backpass(/?)+$ index.php?do=lostpassword [L]


# НОВОСТИ ################################################################################

RewriteRule ^news(/?)+$ index.php?do=news [L]

# страницы новостей

RewriteRule ^news/page/(.*)$ index.php?do=news&cstart=$1 [L]


# Полная новость

RewriteRule ^news/([0-9]+).html$ index.php?newsid=$1 [L]

# версия для печати

RewriteRule ^news/(.*)print.html(/?)+$ engine/print.php?subaction=showfull&newsid=$1 [L]

##########################################################################################

# АНОНСЫ ################################################################################

RewriteRule ^soon(/?)+$ index.php?do=anons [L]

# страницы анонсов

RewriteRule ^soon/page/(.*)$ index.php?do=anons&cstart=$1 [L]


# Полный текст анонса

RewriteRule ^soon/([0-9]+).([0-9]+).html$ index.php?anonsid=$1&day=$2 [L]

RewriteRule ^soon/([0-9]+).html$ index.php?anonsid=$1 [L]

# версия для печати

RewriteRule ^soon/(.*)print.html(/?)+$ engine/print.php?subaction=showfull&anonsid=$1 [L]

##########################################################################################

# ВИДЕО ##################################################################################

RewriteRule ^video(/?)+$ index.php?do=video [L]

# страницы видео

RewriteRule ^video/page/(.*)$ index.php?do=video&cstart=$1 [L]

# Полный просмотр видео

RewriteRule ^video/([0-9]+).html$ index.php?videoid=$1 [L]

##########################################################################################

# ФОТО ##################################################################################

RewriteRule ^photo(/?)+$ index.php?do=photo [L]

# страницы фото

RewriteRule ^photo/page/(.*)$ index.php?do=photo&cstart=$1 [L]

# Полный просмотр фотоальбома (страницы)

RewriteRule ^photo/page,([0-9]+),([0-9]+),([0-9]+).html$ index.php?photo_page=$1&cstart=$2&photoid=$3 [L]

RewriteRule ^photo/page,([0-9]+),([0-9]+).html$ index.php?photo_page=$1&photoid=$2 [L]

# Полный просмотр фотоальбома

RewriteRule ^photo/([0-9]+).html$ index.php?photoid=$1 [L]

##########################################################################################

# Просмотр аккаунта автора

RewriteRule ^author/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]

RewriteRule ^author/([^/]*)/page/([0-9]+)(/?)+$ index.php?subaction=userinfo&user=$1&cstart=$2 [L]


# вывод непрочитанных статей

RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]

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


# вывод избранных статей

RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]

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


RewriteRule ^statistics.html$ index.php?do=stats [L]

RewriteRule ^addnews.html$ index.php?do=addnews [L]

RewriteRule ^rss.xml$ engine/rss.php [L]


RewriteCond %{REQUEST_FILENAME} !-d

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

RewriteRule ^([^.]+)(/?)$ index.php?do=cat&category=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]

RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]


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

Хм, попытался вставить в свой твой код и ссылки не поменялись. Что же ты менял всё-таки? Чтобы было news/id.html ???

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

тот скрипт который представлен на хостинге 1gb позволяет сделать без организации доп сайта (у многих хостеров есть характеристика кол-во сайтов - кол-во раздельных и независимых проектов) эмуляцию такового...

для этого необходимо что бы у Вас было зарегано 2 днс (www.test.ru и forum.test.ru) которые ведут на один и тот же(!) сайт. Соответственно задача сделать форум из папки www.test.ru/forum/ доступным по адресу forum.test.ru. Для этого недо в .htaccess прописать следующее:

RewriteEngine On

Options +FollowSymlinks


RewriteCond %{ENV:REDIRECT_MYFLAG} ^$

RewriteCond %{HTTP_HOST} ^forum\.test\.ru$

RewriteRule ^(.+) %{HTTP_HOST}$1 [E=MYFLAG:1]

RewriteRule ^forum\.test\.ru(.*) /forum%{REQUEST_URI} [L]

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

ну потому, что я там поменял. do=news - такого нет в DLE

Делай так...

Ссылка у тебя на полную новость будет такой: http://site.ru/news/505.html

где 505 - id новости

кусок в .htaccess

# Полная новость

RewriteRule ^news/([0-9]+).html$ index.php?newsid=$1 [L]

# версия для печати

RewriteRule ^news/(.*)print.html(/?)+$ engine/print.php?subaction=showfull&newsid=$1 [L]

всё остальное не трогай - должно работать :)

пис ;)

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

Что же ты менял всё-таки? Чтобы было news/id.html ???

неверное менял в движке код... то что ты меняешь в htaccess - отвечает зо то как оно из URL вызывается - а то как движок ссылки в HTML формирует это меняется в 4-5 файлах движка... можешь поискать - везде где упоминается переменная $config['allow_alt_url']

если я конечно правильно понял о чем идет речь...

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

lifestar,

Невыходит... Ты точно только хатачес менял или что ещё? Вот мой код, что на что надо заменить?

DirectoryIndex index.php


RewriteEngine On


ErrorDocument 300 /?do=error&e=300

ErrorDocument 400 /?do=error&e=400

ErrorDocument 401 /?do=error&e=401

ErrorDocument 402 /?do=error&e=402

ErrorDocument 403 /?do=error&e=403

ErrorDocument 404 /?do=error&e=404

ErrorDocument 405 /?do=error&e=405

ErrorDocument 406 /?do=error&e=406

ErrorDocument 408 /?do=error&e=408

ErrorDocument 413 /?do=error&e=413

ErrorDocument 414 /?do=error&e=414

ErrorDocument 500 /?do=error&e=500

ErrorDocument 505 /?do=error&e=505


# Редиректы

RewriteRule ^page/(.*)$ index.php?cstart=$1 [L]

# Сам пост

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]

# За день

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]

# За весь месяц

RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L]

RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L]

# Вывод за весь год

RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L]

RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]

# вывод для отдельного юзера

RewriteRule ^user/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]

RewriteRule ^user/([^/]*)/page/([0-9]+)(/?)+$ index.php?subaction=userinfo&user=$1&cstart=$2 [L]

# вывод непрочитанных статей

RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]

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

# Статистические страницы

RewriteRule ^static/(.*).html(/?)+$ index.php?do=static&page=$1 [L]

# вывод избранных статей

RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]

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


RewriteRule ^statistics.html$ index.php?do=stats [L]

RewriteRule ^addnews.html$ index.php?do=addnews [L]

RewriteRule ^rss.xml$ engine/rss.php [L]

RewriteRule ^feedback.html$ index.php?do=feedback [L]

RewriteRule ^index.html$ index.php [L]

RewriteRule ^gb.html$ http://www.xbase.ru/?bestwarez [L]


RewriteCond %{REQUEST_FILENAME} !-d

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

RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]

RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]

RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]

Shinji,

Да я понял уже... Не подскажешь случаем в каких файлах?

Изменено пользователем Kaiser
Ссылка на сообщение
Поделиться на других сайтах

Kaiser у тебя на сайте http://www.bestwarez.ru/index.php?newsid=745 работает же.

Значит и

# Полная новость

RewriteRule ^news/([0-9]+).html$ index.php?newsid=$1 [L]

должно работать ;)

Изменено пользователем lifestar
Ссылка на сообщение
Поделиться на других сайтах

Я дал код хатачеса, измени его уже со своим и запости сюда плз, ато я недопру. Вместе с версией для печати тока. Ну как у тебя кароче... :)

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

Да я понял уже... Не подскажешь случаем в каких файлах?

Во всех где по поиску текста выплывет $config['allow_alt_url'] - в них ты сможешь сделать так что бы у тебя URL был www.ru/category-name/news-name.html и www.ru/category-name/print-news-name.html (или www.ru/category-name/news-name/(?index.html) и www.ru/category-name/news-name/print.html)

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

Блин! Вы читать умеете???????????????? Я ссылку давал на пред. страницы на форум 4dle!!! Там подробно указано, что нужно менять код двигла!!!!!!!!!!!!!!!! :angry: Для того, чтобы двигло генерировало ссыкли, нужно менять код в файлах (к примеру файл /engine/modules/show.short.php), а для того, чтобы новые ссылки работали, то нужно править как раз .htaccess.

у меня на сайте nowostey.net , часть файла show.short.php имеет изменённый код для генерации ссылок вида (http://nowostey.net/clips/4409.html) :

	if ($config['allow_alt_url'] == "yes")

		$tpl->set('[full-link]',"<a {$go_page}href=\"".$config['http_home_url'].$cat_info[$cat_list[0]]['alt_name'].'/'.$row['id'].".html\">");

	else 
и в чпу для этого прописано:
# Сам пост

RewriteRule ^([^/]*)/page,([0-9]+),([0-9]+),(.*).html(/?)+$ /?subaction=showfull&news_page=$2&cstart=$3&newsid=$4

RewriteRule ^([^/]*)/page,([0-9]+),(.*).html(/?)+$ /?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&newsid=$5

RewriteRule ^print-([0-9]+)-([0-9]+).html(/?)+$ /engine/print.php?subaction=showfull&news_page=$1&newsid=$2

RewriteRule ^([^<]+)/([0-9]+).html(/?)+$ /?subaction=showfull&newsid=$2 [L]

т.ч. читайте ТУ статью, которуя я дал..... Там всё ПОДРОБНО написано!!

П.С. .htaccess нужен не для ГЕНЕРАЦИИ ссылок, а для их функионирования!!!!!

:mellow:

я закончил.... ;)

Изменено пользователем netduke
Ссылка на сообщение
Поделиться на других сайтах

netduke, вообще то это и так подразумевалось... Мной по крайней мере :)

НЕ может же быть так, что ты .htaccess поправил и у тебя бац - поменялись ссылки на полный текст новости :P

Конечно нужно исправлять, я лишь обеспечивал работоспособность таких ссылок ;)

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

netduke,

Хм... Не нашёл я там чото твой урок. Кинь ссыль штоле...

lifestar,

Так я тебя изначально и потом ещё несколько раз спросил, что нужно-то менять, чтобы такие ссылки были, ты сказал хатачес! Жесть! :) Всем пасиба, будем пробывать!

Изменено пользователем Kaiser
Ссылка на сообщение
Поделиться на других сайтах

Kaiser, не ну это очевидно, что правкой только лишь .htaccess ты ссылку "подробнее..." не поменяешь :)

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

файл <show.short.php>

ссылка на новость у меня формируется так:


	if ((strlen($row['full_story']) < 10) and $config['hide_full_link'] == "yes")

		$tpl->set_block("'\\[full-link\\](.*?)\\[/full-link\\]'si","");

	else

	{

		if ($config['allow_alt_url'] == "yes")

			$tpl->set('[full-link]',"<a title=\"прочитать новость\" href=\"".$config['http_home_url']."news/".$row['id'].".html\">");

		else

			$tpl->set('[full-link]',"<a href=\"$PHP_SELF?newsid=".$row['id']."\">");

		$tpl->set('[/full-link]',"</a>");

	}

Соответственно в шаблоне:
[code][full-link]{title}[/full-link][/code]

Изменено пользователем lifestar
Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Вопрос в тему, как сделать так, чтобы новость была доступна по двум УРЛам сразу? По стандартному site.ru/year/month/date/news.html и по альтернативному без даты?

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

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

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

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

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

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

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

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

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

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