Как убрать возможность переходить по файлам после .php?

Добрый день, у меня есть страницы (файлы) на сайте вида:

https://site.ru/generator_zagadok.php
https://site.ru/generator_klichek.php

и так далее. В Вебмастере вижу, что есть переходы по адресу /generator_zagadok.php/zagadki.js при этом страница открывается, но уже без стилей и скриптов, вероятно из-за несоответствия путей до файлов стилей и скриптов.

Мне нужно сделать так, чтобы либо такие страницы редиректились на основную страницу запроса, либо выдавали 404 ошибку, либо как это правильно сделать, чтобы доступ к такому не был возможен. Спасибо.
Использую обычный хостинг (jino), php 8.0, apache web server

Дополнительно:

Скорее всего у вас берутся пути до стилей исходя из параметров запроса, найти и прибить пути гвоздями

  • /generator_zagadok.php/zagadki.js при этом страница открывается, но уже без стилей и скриптов

    Открывается страница html или же скрипт JS zagadki.js?

  • Если вы уверены что это прям прямые переходы, а не косяк в путях. То можно в .htaccess добавить правила на переадресацию например:

    Это должно перенаправить запрос, начинающийся с /generator_zagadok.php/ или /generator_klichek.php/ на основную страницу запроса.

  • ProjectSoft, страница html
  • Все запросы к несуществующим файлам будут отправляться на index.php

    • Спасибо, для SEO вреда не нанесёт это ?
    • Александр Андропов, если у вас единая точка входа, роутинг, то нет. Если у вас каждый файл php открывается как есть (отдельным модулем), то да.
    • Одиночка Айс, с какого перепуга? Это просто перенаправление с несуществующих файлов/директорий. Если файл page.php существует, то он откроется. И проиндексируется.
    • Однако стоит учесть, что любые адреса будут открываться с кодо 200, что ожет нанести вред. В это случае файл index.php ожет наприер отдавать код 404.

     

    Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.

     

      • Как убрать возможность переходить по файлам после .php?Есть ответ
      • 07.04.2024
      Ответить

      Для того чтобы предотвратить возможность перехода по файлам после .php, можно использовать файл .htaccess и настроить RewriteRule для перенаправления всех запросов на файлы .php обратно на главную страницу или на другую страницу.

      Вот пример кода, который можно добавить в файл .htaccess:

      Этот код будет перенаправлять любые запросы к файлам .php обратно на главную страницу сайта.

      Если вы хотите перенаправить на другую страницу, замените "/" на путь к этой странице. Например, если вы хотите перенаправлять на страницу "error.php", замените "/" на "/error.php".

      Не забудьте сохранить изменения в файле .htaccess и удостовериться, что модуль mod_rewrite включен на вашем сервере.

      После применения этих настроек, пользователи больше не смогут переходить по файлам после .php.

    Оставить комментарий