Как удалить индекс.php из URL-адресов

Как удалить индекс.php из URL-адресов

19.09.2016 12:37:04 Просмотров 56 Источник

Мне интересно, Как удалить индекс.php из URL-адресов, каждая ссылка на моем сайте имеет индекс.php в нем, например example.com/index.php/contact-us.

Я использую Drupal 8, мой сервер-Apache, а версия php-5.6, и я на общем хостинге.

В.htaccess файл, который я пытался использовать

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

Это удалило индекс.php но любая новая статья не будет показывать изображения на главной странице (индекс.РНР)

затем я попытался использовать

RewriteBase /
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

Случилось то же самое.

Пожалуйста, совет

У вопроса есть решение - Посмотреть?

Ответы - Как удалить индекс.php из URL-адресов / How to remove index.php from URLs

Является ответом!
VJamie

19.09.2016 09:23:43

Пожалуйста, ознакомьтесь со следующей документацией Drupal 8: https://www.drupal.org/docs/8/configuring-clean-urls/enable-clean-urls

Это должно помочь вам включить чистые URL-адреса.

Кроме того: вы можете проверить следующую проблему и комментарии для вашей проблемы: включить чистые URL-адреса

Расширение: попробуйте проверить URL src на Ваших изображениях (если они содержат индекс.php, если нет, это может быть неправильной конфигурацией разрешения)

Изменить: попробуйте этот код в вашем .реврайт

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^ index.php [L]

На стороне Примечание: Вы можете рассмотреть вопрос о переходе на PHP7, так как активная поддержка PHP5. 6 скоро закончится. (Источник)

https://stackoverflow.com/questions/39562923/how-to-remove-index-php-from-urls/39566585#comment66454996_39566585
Я попробовал почти все там, все еще сталкиваясь с той же проблемой.
https://stackoverflow.com/questions/39562923/how-to-remove-index-php-from-urls/39566585#comment66456603_39566585
Я пробовал их также, все та же проблема, и теперь, когда я использую этот RewriteEngine на RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /индекс.РНР?/$1 [L] он фактически добавляет индекс.на PHP !!! самое смешное, что тот же сайт на моем localhost работает отлично без какого-либо индекса.php в каждом url (я использую то же самое .файл htaccess)
https://stackoverflow.com/questions/39562923/how-to-remove-index-php-from-urls/39566585#comment66483828_39566585
Обновил мой ответ снова: P
https://stackoverflow.com/questions/39562923/how-to-remove-index-php-from-urls/39566585#comment66509716_39566585
Это тот же самый код, который у меня есть сейчас, клянусь Богом, я схожу с ума здесь, я не знаю, что я сделал точно, но с этим кодом, который вы опубликовали сейчас, который является моим дефолтом, все работает сейчас. но когда я получаю доступ к моей / пользовательской странице, он перенаправит меня на индекс.php тогда мне нужно получить доступ site.com/index.php/user
tbart

28.10.2019 04:51:18

Это то, что я добавил в свою конфигурацию apache.

# Sometimes (multiple instances of) index.php/ get(s) inserted in URLs
# Remove them
RewriteCond %{REQUEST_URI} ^/(index.php/)+(.*)
RewriteRule ^.*$ /%2 [R=301,END]

По-видимому, некоторые" простые XML sitemap " версии ввели эти индексы.php-части и отправил их в поисковые системы, и теперь я получаю хиты с этими нечистыми URL-адресами.

Настройка drupal, чтобы не использовать их, - это одно,но сказать клиентам, что эти URL-адреса больше не действительны, - это другое. Вот где вышесказанное пригодится. Он просто удаляет все индексы.php / parts в URL-адресе.

Примечание: это необходимо сделать, прежде чем все остальные правила переписать!

Закрыть X