Как удалить «index.php» из URL?

Мне было интересно, можно ли удалить «index.php», который отображается в каждом URL.

9 голосов | спросил connersz 8 Maypm14 2014, 17:20:14

5 ответов


16

Вы можете сделать это, включив URL-адреса SEF и особенно параметр «Использовать переписывание URL-адресов» в глобальной конфигурации Joomla.

Обратите внимание, что это приведет к ошибке внутреннего сервера, если вы не создали файл .htaccess, прежде чем включать этот параметр.

Существует страница документа, объясняющая, какие шаги необходимы для получения этих хороших URL-адресов. Посмотрите здесь: http://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs

В основном вы должны переименовать файл htaccess.txt, найденный в вашем корневом каталоге Joomla. В зависимости от вашего хостера требуются дополнительные шаги.

ответил Bakual 8 Maypm14 2014, 17:41:19
4

Вы можете добавить этот код в начало индекса Joomla index.php:

if(strcmp($_SERVER['REQUEST_URI'], '/index.php') == 0 && $_SERVER['QUERY_STRING'] == ''){
    header("HTTP/1.1 301 Moved Permanently");
    header('Location: /');
    exit;
}

Будьте осторожны, хотя, если вы примете этот подход, вам придется повторить это при обновлении.

ответил ContextSwitch 8 Maypm14 2014, 22:00:54
4
  1. Изменен htaccess.txt на .htaccess
  2. Сайт> Глобальная конфигурация: использование перезаписи URL (выберите «Да»)
  3. Настройки SEO Поисковые URL (выберите «Да»)
ответил Vick-Nguyen 15 Mayam14 2014, 06:22:19
2

Вот общий метод, если ваш сайт выходит из строя с использованием .htaccess:

  • Вы должны прокомментировать одну или обе эти строки:

Параметры + FollowSymLinks

и /или

RewriteBase /

Это должно работать нормально! Примечание: вы делаете комментирование, предоставляя хэштег для строки «#»

ответил tgyozo 13 Mayam14 2014, 10:52:34
0

Если вы используете веб-сервер nginx , вы можете использовать следующий фрагмент для конфигурационный файл nginx.conf, где ваш Joomla! (в основном, просто добавьте if-условие после любых существующих строк, где появляется директива index index.php).

#https://stackoverflow.com/a/38165768/remove-index-php-from-joomla-urls-with-nginx
index index.php index.html index.htm;
if ($request_uri ~ "^/(.*)(?<=/)index\.php/?((?<=/).*)?$") {    return  301 /$1$2;  }

Подробнее см. https: //stackoverflow .com /вопросы /28997028 /удалить-индекс-PHP-из-JOOMLA-URLs-с-Nginx /38165768 # 38165768 .

ответил cnst 3 J000000Sunday16 2016, 05:41:02

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132