Предположим, что мой домен foo.com, у меня есть index.html в моем корневом каталоге. Затем, если я устанавливаю корзину для покупок в /cart, и она index.php является ее индексной страницей.
Как изменить индекс по умолчанию на /cart/index.php с помощью .htaccess?
Добавьте следующую команду, чтобы сделать first.html вашу индексную страницу
DirectoryIndex first.html
Вы также можете иметь несколько файлов, как в:
DirectoryIndex first.html index.htm index.html index.php
Здесь сервер будет проверять файлы слева направо и использовать первый доступный
Итак, я думаю, что вы должны быть
DirectoryIndex index.php index.html
Поскольку вы хотите, чтобы более высокий приоритет index.php, когда он найден в каталог
Использовать перенаправления:
Вы можете использовать директиву Redirect (Mod_Alias). Отредактируйте файл .htaccess и добавьте эту строку:
Redirect permanent "/index.html" "/cart/index.php"
Или вы можете использовать директиву Redirect . Измените файл .htaccess и добавьте эту строку:
RedirectPermanent "/index.html" "/cart/index.php"
Использовать перенаправления:
Вы можете использовать Mod_Rewrite для добиться того же результата, что и выше. Отредактируйте файл .htaccess и добавьте следующие строки:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !cart
RewriteRule "^$" "/cart/index.php$1" [R=301,L]
Дальнейшее чтение о Mod_Rewrite: Mod_Rewrite ; [2]; [!]
Смарт-перенаправление с использованием PHP:
Отредактируйте файл .htaccess и добавьте следующие строки:
# Obliterate previous DirectoryIndex order:
DirectoryIndex disabled
# Create new DirectoryIndex order:
DirectoryIndex site-condition.php index.php index.html
Создайте PHP-файл под названием site-condition.php, который перенаправляет исходный запрос на первый существующий файл в соответствии с этим порядковым приоритетом:
/cart/index.php /index.php /index.htmlСодержимое site-condition.php может выглядеть так:
<?php
$primary_index = 'cart/index.php';
$secondary_index = 'index.php';
$tertiary_index = 'index.html';
if (file_exists($primary_index)) {
header("Location: /$primary_index");
exit;
} elseif (file_exists($secondary_index)) {
header("Location: /$secondary_index");
exit;
} elseif (file_exists($tertiary_index)) {
header("Location: /$tertiary_index");
exit;
} else {
echo "<html><head><title>Under construction!</title></head>";
echo "<body><h1>Under construction!</h1></body></html>";
exit;
}
?>
В соответствии с этим примером /cart должен быть подкаталог DocumentRoot текущего VHost.
Далее чтение о используемых функциях PHP: [2] ; [2]; [D14] [3] .
Добавьте следующую команду, чтобы сделать first.html вашу индексную страницу
DirectoryIndex first.html
Вы также можете иметь несколько файлов, как в:
DirectoryIndex first.html index.htm index.html index.php
Здесь сервер будет проверять файлы слева направо и использовать первый доступный
Итак, я думаю, что вы должны быть
DirectoryIndex index.php index.html
Поскольку вы хотите, чтобы более высокий приоритет index.php, когда он найден в каталог
Использовать перенаправления:
Вы можете использовать директиву Redirect (Mod_Alias). Отредактируйте файл .htaccess и добавьте эту строку:
Redirect permanent "/index.html" "/cart/index.php"
Или вы можете использовать директиву Redirect . Измените файл .htaccess и добавьте эту строку:
RedirectPermanent "/index.html" "/cart/index.php"
Использовать перенаправления:
Вы можете использовать Mod_Rewrite для добиться того же результата, что и выше. Отредактируйте файл .htaccess и добавьте следующие строки:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !cart
RewriteRule "^$" "/cart/index.php$1" [R=301,L]
Дальнейшее чтение о Mod_Rewrite: Mod_Rewrite ; [2]; [!]
Смарт-перенаправление с использованием PHP:
Отредактируйте файл .htaccess и добавьте следующие строки:
# Obliterate previous DirectoryIndex order:
DirectoryIndex disabled
# Create new DirectoryIndex order:
DirectoryIndex site-condition.php index.php index.html
Создайте PHP-файл под названием site-condition.php, который перенаправляет исходный запрос на первый существующий файл в соответствии с этим порядковым приоритетом:
/cart/index.php /index.php /index.htmlСодержимое site-condition.php может выглядеть так:
<?php
$primary_index = 'cart/index.php';
$secondary_index = 'index.php';
$tertiary_index = 'index.html';
if (file_exists($primary_index)) {
header("Location: /$primary_index");
exit;
} elseif (file_exists($secondary_index)) {
header("Location: /$secondary_index");
exit;
} elseif (file_exists($tertiary_index)) {
header("Location: /$tertiary_index");
exit;
} else {
echo "<html><head><title>Under construction!</title></head>";
echo "<body><h1>Under construction!</h1></body></html>";
exit;
}
?>
В соответствии с этим примером /cart должен быть подкаталог DocumentRoot текущего VHost.
Далее чтение о используемых функциях PHP: [2] ; [2]; [D14] [3] .
Добавьте следующую команду, чтобы сделать first.html вашу индексную страницу
DirectoryIndex first.html
Вы также можете иметь несколько файлов, как в:
DirectoryIndex first.html index.htm index.html index.php
Здесь сервер будет проверять файлы слева направо и использовать первый доступный
Итак, я думаю, что вы должны быть
DirectoryIndex index.php index.html
Поскольку вы хотите, чтобы более высокий приоритет index.php, когда он найден в каталог
Использовать перенаправления:
Вы можете использовать директиву Redirect (Mod_Alias). Отредактируйте файл .htaccess и добавьте эту строку:
Redirect permanent "/index.html" "/cart/index.php"
Или вы можете использовать директиву Redirect . Измените файл .htaccess и добавьте эту строку:
RedirectPermanent "/index.html" "/cart/index.php"
Использовать перенаправления:
Вы можете использовать Mod_Rewrite для добиться того же результата, что и выше. Отредактируйте файл .htaccess и добавьте следующие строки:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !cart
RewriteRule "^$" "/cart/index.php$1" [R=301,L]
Дальнейшее чтение о Mod_Rewrite: Mod_Rewrite ; [2]; [!]
Смарт-перенаправление с использованием PHP:
Отредактируйте файл .htaccess и добавьте следующие строки:
# Obliterate previous DirectoryIndex order:
DirectoryIndex disabled
# Create new DirectoryIndex order:
DirectoryIndex site-condition.php index.php index.html
Создайте PHP-файл под названием site-condition.php, который перенаправляет исходный запрос на первый существующий файл в соответствии с этим порядковым приоритетом:
/cart/index.php /index.php /index.htmlСодержимое site-condition.php может выглядеть так:
<?php
$primary_index = 'cart/index.php';
$secondary_index = 'index.php';
$tertiary_index = 'index.html';
if (file_exists($primary_index)) {
header("Location: /$primary_index");
exit;
} elseif (file_exists($secondary_index)) {
header("Location: /$secondary_index");
exit;
} elseif (file_exists($tertiary_index)) {
header("Location: /$tertiary_index");
exit;
} else {
echo "<html><head><title>Under construction!</title></head>";
echo "<body><h1>Under construction!</h1></body></html>";
exit;
}
?>
В соответствии с этим примером /cart должен быть подкаталог DocumentRoot текущего VHost.
Далее чтение о используемых функциях PHP: [2] ; [2]; [D14] [3] .