подскажите с httpacess

12 3
J
На сайте с 08.06.2006
Offline
844
1426

Одна папка (и один и тот же акес) на сервере используется как home директория для нескольких сайтов.

Как настроить акес, чтобы в зависимости от домена вместо index.html подтягивался файлик [name_domen]_index.html

Например для site1.ru - site1.ru_index.html, для supersite.ru - supersite.ru_index.html

и т.д.

спасибо!

siv1987
На сайте с 02.04.2009
Offline
427
#1
joost:
и один и тот же акес

О боже, снова этот "акес". https://www.google.ru/search?client=opera&rls=ru&q=%D1%84%D0%BE%D0%BD%D0%B5%D1%82%D0%B8%D0%BA%D0%B0+%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%BE%D0%B3%D0%BE+%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0

Не знаете как читается пишите в оригинале.

joost:
подскажите с httpacess

htaccess

joost:
Как настроить акес, чтобы в зависимости от домена вместо index.html подтягивался файлик [name_domen]_index.html

RewriteEngine On

RewriteRule %{HTTP_HOST} ^(www\.)?(.+)

RewriteRule ^(index\.html)?$ /%1_index.html [L]

J
На сайте с 08.06.2006
Offline
844
#2
# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule %{HTTP_HOST} ^(www\.)?(.+)
RewriteRule ^(index\.html)?$ /%1_index.html [L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

в итоге по запросу

http://site.ru/index.html выдает 404 ошибку

и я немного изначально не правильно поставил задачу - нужно по запросу http://site.ru/ выдавать http://site.ru/{HTTP_HOST}_index.html а не по запросу http://site.ru/index.html

[umka]
На сайте с 25.05.2008
Offline
456
#3

Там, верно, должно быть %2, а не %1

Лог в помощь!
J
На сайте с 08.06.2006
Offline
844
#4
[umka:
должно быть %2, а не %1

попробовал

без изменений

---------- Добавлено 16.10.2014 в 14:27 ----------

что по поводу

нужно по запросу http://site.ru/ выдавать http://site.ru/{HTTP_HOST}_index.html а не по запросу http://site.ru/index.html
M
На сайте с 04.12.2013
Offline
223
#5

Если нужно только для главной, укажите в условии маску "^$" (без кавычек). Если для всего подряд – "^.*". В последнем случае не помешает для всех уриков кроме главной выдавать 404-ый заголовок.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
siv1987
На сайте с 02.04.2009
Offline
427
#6
umka:
Там, верно, должно быть %2, а не %1

Да действительно, пропустил, там должно быть %2

joost:
попробовал
без изменений

Обновите страницу или сбросьте кеш браузера.

J
На сайте с 20.02.2014
Offline
120
jkm
#7
siv1987:

RewriteEngine On
RewriteRule %{HTTP_HOST} ^(www\.)?(.+)
RewriteRule ^(index\.html)?$ /%1_index.html [L]

Там не только %2 но и RewriteCond :)


RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)
RewriteRule ^(index\.html)?$ /%2_index.html [L]
[umka]
На сайте с 25.05.2008
Offline
456
#8
jkm:
Там не только %2 но и RewriteCond :)

Мда... стареем...

J
На сайте с 08.06.2006
Offline
844
#9

а {HTTP_HOST} это http://site.ru/ или site.ru ?

---------- Добавлено 17.10.2014 в 15:44 ----------

учтите еще, что

я немного изначально не правильно поставил задачу - нужно по запросу http://site.ru/ выдавать http://site.ru/{HTTP_HOST}_index.html а не по запросу http://site.ru/index.html


---------- Добавлено 17.10.2014 в 15:45 ----------

при

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)
RewriteRule ^(index\.html)?$ /%2_index.html [L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

на http://site.ru/index.html выдает 404 ошибку

J
На сайте с 20.02.2014
Offline
120
jkm
#10

В %{HTTP_HOST} просто site.ru т.е домен без http://

Стоит убедиться, что файл site.ru_index.html существует и он доступен по адресу http://site.ru/site.ru_index.html

Если все на месте, тогда пробовать варианты с %2_index.html и /%2_index.html


DirectoryIndex

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)
RewriteRule ^$ %2_index.html [L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,7}\ /\ HTTP
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)
RewriteRule ^ %2_index.html [L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий