.htaccess для форума, расположенного в папке (поддиректории) основного сайта

Автор vic, 17 июня 2014, 15:46:52

« назад - далее »

0 Пользователи и 5 гостей просматривают эту тему.

vic

Форум SMF расположен в папке основного сайта. В корне основного сайта есть свой файл .htaccess

При переходе по ссылке:
site.com/forum/index.php
идет редирект на главную страницу домена:
site.com
Как сделать, чтобы при переходе по ссылке
site.com/forum/index.php
открывалась страница форума:
site.com/forum/

Если бы форум был бы основным сайтом - там нормально работает код:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^\/index.php$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ / [L,R=301]

как этот код преобразовать для форума, установленного в папке основного сайта?

Понятно, что все упирается в файл .htaccess в корне основного домена-сайта.
Если кто-нибудь сможет помочь, то исходные данные такие:
Основной сайт сделан на joomla 1.5  - в корне имеет следующий файл .htaccess:

AddDefaultCharset utf-8
RewriteEngine On
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
RewriteCond %{HTTP_HOST} ^www.site.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]
RewriteBase /
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]


Сможет ли кто-нибудь помочь?

gorbi


Yarik

Цитата: gorbi от 02 июня 2020, 18:09:53Примерно такой же вопрос
Редирект //сайт/forum/index.php на forum/ без index.php нужен или?Чтобы index.php обрезало?

Файл .htaccess в папке /forum

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /forum/index\.php\ HTTP/
RewriteRule ^.*$ http://%{HTTP_HOST}/forum/ [R=301,L]

Если RewriteEngine On уже есть где-то в начале файла то можно пропустить.

gorbi

Редирект получился, но ругается "canonical URL". Это значит индекс надо обрезать?

Yarik

Цитата: gorbi от 02 июня 2020, 21:10:58Редирект получился, но ругается "canonical URL". Это значит индекс надо обрезать?
Так на главной уже должно было его обрезать.

gorbi

У меня такой код

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://g-news.com.ua/forum_smf/$1 [R,L]
RewriteEngine on
# If the mod is not working property then remove the '#' from the next line.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?seomod=$1 [L,QSA]

Yarik

Цитата: gorbi от 02 июня 2020, 21:26:09У меня такой код
Я не вижу чтобы обрезало,если цель именно в этом
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /forum_smf/index\.php\ HTTP/
RewriteRule ^.*$ http://%{HTTP_HOST}/forum_smf/ [R=301,L]

gorbi

Цитата: S.T.A.L.K.E.R. от 02 июня 2020, 21:49:17Я не вижу чтобы обрезало,если цель именно в этом
Цель пока не стояла. А как правильно? Обрезать? Здесь на форуме есть ликбез?

Yarik

Цитата: gorbi от 02 июня 2020, 22:07:11Цель пока не стояла. А как правильно? Обрезать? Здесь на форуме есть ликбез?
Выше выложил же для этого реврайт.

gorbi


Yarik