Как скрыть php в адресной строке
Убрать расширение php в адресной строке
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Как сделать, чтобы в адресной строке не отображалось расширение php?
как сделать чтоб не высвечивалась приставка php? и заходить что б можно было
Как убрать GET параметры в адресной строке
Здравствуйте! Возможно преобразовать ссылку test1.ru/index.php?page=1 в test1.ru/index/page/1/.
Как убрать /public/ в адресной строке?
.htaccess / AddDefaultCharset utf-8 RewriteEngine on RewriteCond %
Ну так измените
Добавлено через 1 минуту
перекинул, но не выходит.
У меня это работает. Тоже на Денвере
Добавлено через 8 минут
Если я правильно поняла, то это:
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use ‘LimitInternalRecursion’ to increase the limit if necessary. Use ‘LogLevel debug’ to get a backtrace., referer: http://blitz.ua/
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use ‘LimitInternalRecursion’ to increase the limit if necessary. Use ‘LogLevel debug’ to get a backtrace., referer: http://blitz.ua/?id=3&p=2
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Не показывать расширение в адресной строке
Как убрать расширение страницы(например *.php). Что бы вместо site.ru/index.php было site.ru/index
Расширение в имени файла в адресной строке
Почему на некоторых сайтах в адресной строке отображается например : http://mysite.com.ua/filename.
Как удалить расширение файлов php из URL (ссылок) на сайте
В сегодняшней заметке я расскажу как можно быстро и легко убрать расширения php, cgi, html и любые другие из URL (из ссылок в адресной строке). Иногда такая потребность возникает, например, для придания ссылкам красоты и большего удобства для посетителей сайта.
К примеру из http://example.com/pagename.php нужно сделать http://example.com/pagename
При этом, разумеется, нужно при необходимости заменить «php» в строках 3 и 4 на нужное расширение.
После этого переход по ссылкам вида http://example.com/pagename начнёт происходить без ошибок.
Альтернативный вариант.
Наш читатель aleksey предложил ещё вот такой вариант:
Обратите внимание, может влиять на обработку POST-запросов отправляемых скриптам с расширением php! (спасибо S1lllver за важное уточнение)
#301 редирект с example.com/page.html на example.com/page
RewriteCond %
RewriteRule ^(.*)\.html$ /$1 [R=301,L]
Возможные проблемы
Если Ваш хостер использует связку nginx+Apache, то при попытке вышеописанным методом удалить расширения из ссылок на картинки, html-файлы и прочую статику будет отдаваться ошибка 404.
В этом случае Вам необходимо либо самостоятельно настроить сервер таким образом, чтобы исключить нужные типы файлов из списка статических файлов либо обратиться в службу технической поддержки с той же просьбой.
Прокомментировать Отменить комментарий
15 комментариев к “Как удалить расширение файлов php из URL (ссылок) на сайте”
Лепить «абы что» не хочу, а вдумчиво заняться ни времени, ни энтузиазма.
Хотя Вы правы — без фавикона немного неудобно плюс в поисковой выдаче не очень видно.
Займусь.
Способ для HTML сайтов. В том числе и для тех сайтов, которые созданы в конструкторе сайтов Mobirise.
RewriteCond %
RewriteRule ^index\.html$ https://ВАШ_САЙТ/ [R=301,L]
Redirect 301 /index https://ВАШ_САЙТ
Где указанно ВАШ_САЙТ, необходимо указать URL вашего сайта. Если код не заработает, вставьте в самом начале следующую строку:
Используйте данный способ, если 1-й Вариант, у вас не работает.
Используйте данный способ, если 2-й Вариант, у вас не работает.
Аналогичный код со второго варианта, только удаляем строку:
При этом, 2-й и 3-й варианты, не удаляют дубль на главную страницу. При желании, вы можете добавить 301 редирект, в конце содержимого кода (через пробел на одну строку в конце основного кода, по аналогу с первым вариантом):
Где вместо ВАШ_САЙТ, указываем URL на свою главную страницу. Если не настроить 301 редирект, ваша главная страница сайта, будет открываться приблизительно так:
Нужен стабильный, безопасный и недорогой хостинг?
Безопасный, стабильный и доступный по цене хостинг. Узнать больше.
По просьбе пользователя в комментарии, добавляю вариант для тех, кому нужно убрать полностью index.html на всех страницах сайта. Используйте следующий код:
На некоторых хостингах, нужно добавлять в самом начале:
И вот код, для первого варианта:
RewriteCond %
RewriteRule ^index\.html$ https://www.ВАШ_САЙТ/ [R=301,L]
RewriteRule ^index\.html$ / [R=301,L]
RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L]
Если у вас многоязычная версия сайта, созданная в конструкторе сайтов Mobirise, ознакомьтесь с основными моментами, которые нужно учитывать при создании многоязычной версии сайта в конструкторе Mobirise: «Как создать многоязычную версию сайта в Mobirise?».
Если будут вопросы, поправки и дополнения – оставляйте комментарии.
Как удалить расширение файла с адреса веб-сайта?
Я проектирую веб-сайт. Я хочу, чтобы мой адрес веб-сайта выглядел следующим образом:
В качестве второго примера вы можете посмотреть адрес веб-сайта StackOverflow.
Кто-нибудь может помочь мне в этом? Благодарю!
ОТВЕТЫ
Ответ 1
Ответ 2
Сначала убедитесь, что модуль mod_rewrite установлен. Тогда будьте осторожны, чтобы понять, как это работает, многие люди понимают это задом наперед.
Вы не скрываете URL или расширения. То, что вы делаете, это создаете НОВЫЙ URL, который направляет на старый, например
URL для размещения на вашем веб-сайте будет yoursite.com/play?m=asdf.
/Some-Cool-Video (равняется идентификатору продукта в формате asdf)
Преимущество к этому? Поисковые системы будут индексировать ключевые слова «Some Cool Video». ASDF? Кто будет искать это?
Я не могу дать вам подробности, как это запрограммировать, но возьмите строку запроса, уберите конец
превращается в «asdf»
Затем установите переменную m в это
Таким образом, оба URL будут по-прежнему идти к одному и тому же
mod_rewrite может сделать много других важных вещей, Google для него и активировать его на вашем сервере (возможно, он уже установлен).
Ответ 3
У вас разные варианты. Один из них создает папку с именем «профиль» и переименует ваш «profile.php» в «default.php» и помещает его в папку «profile». и вы можете отдавать приказы на эту страницу следующим образом:
Если вы не удовлетворены, оставьте комментарий для сложных методов.
Ответ 4
Проблема с созданием каталога и хранением index.php в нем заключается в том, что
Решения 1. MOD REWRITE (как было предложено выше) 2. используйте php-код для динамического добавления других файлов в индексный файл. Читайте немного больше здесь http://inobscuro.com/tutorials/read/16/
Ответ 5
Поместите это в начало каждого файла PHP (желательно прежде всего):
Затем поместите эти функции в файл «scripts.php»:
Ответ 6
И тогда URL www.yoursite.com/data будет читать этот файл index.php. Если вы хотите принять его дальше, откройте в нем подпапку (например, «Список» ), поместите еще один index.php в эту папку, и вы можете запустить www.yoursite.com/data/list этот файл PHP.
Таким образом, вы можете иметь полный контроль над этим, очень полезным для SEO.
Ответ 7
Пожалуйста, взгляните на блог выше, он дает более подробное объяснение
Ответ 8
так же, как Игорь, но должен работать без строки 2:
Ответ 9
Ответ 10
Тони, ваш script в порядке, но если у вас есть 100 файлов? Нужно добавить этот код во все это:
include_once ( ‘scripts.php’);
strip_php_extension();
Я думаю, что вы включаете меню в каждый php файл (возможно, ваше меню отображается на всех ваших веб-страницах), поэтому вы можете добавить эти 2 строки кода только в свой файл меню. Эта работа для меня: D
Ответ 11
почти то же самое с первым ответом, но еще больше преимуществ.
Просто добавьте, если у вас есть другое расширение файла на ваших сайтах.
Ответ 12
То же, что Джон и Игорь, работает нормально
Настройки веб-сервера Apache
Перенаправление
Redirect 301 / http://example.com/
В случае, если перенаправление носит временный характер, перенаправить запрос со страницы blog на другую страницу того же сайта new-blog можно вот так:
Redirect 302 /blog /new-blog/index.php
Простые правила перенаправления вы можете создавать автоматически при помощи раздела «Перенаправления» в Панели управления хостингом при переходе к управлению сайтом. Более сложные правила (с условиями и дополнительными параметрами) составляются при помощи модуля Apache mod_rewrite. Использование этого модуля позволяет решить широкий спектр задач, примеры некоторых мы рассмотрим ниже.
Перенаправление на HTTPS
Защита SSL-сертификатом обязывает сайт всегда работать только по протоколу HTTPS. Данное правило перенаправляет запросы, поступившие от посетителей сайта, с HTTP на HTTPS:
Перенаправление на определенное имя сайта (с или без www)
RewriteEngine on
RewriteCond %
RewriteRule ^(.*) http://www.example.com/$1 [R=301,L]
Во второй строке правила содержится условие: все запросы, которые поступили не на имя www.example.com, перенаправлять на www.example.com. Чтобы конкретизировать правило (например, задать определенный домен, а не все, что подходят под условие), достаточно убрать восклицательный знак — он означает отрицание. Например, данное правило перенаправляет запросы с дополнительного домена alias.com на основной сайт site.ru:
RewriteEngine on
RewriteCond %
RewriteRule ^(.*) http://site.ru/$1 [R=301,L]
Избавиться от дублей страниц
Поисковые системы при индексации сайта могут воспринимать ссылки со слешем (косая черта — /) и без него как разные страницы. А еще бывает, что при обращении к таким ссылкам открывается разное содержимое (например, example.com/shop/ — работает, а example.com/shop — отдает код 404). Чтобы устранить эти дубли страниц, примените к сайту эти правила перенаправления 301.
Добавить слеш ко всем страницам сайта можно при помощи правила:
Это правило автоматически перенаправит поискового робота и посетителя, например, со страницы example.com/shop на example.com/shop/.
В эти правила можно добавить исключение для конкретной директории, чтобы на нее правило перенаправления не действовало — например, если это обусловлено особенностями CMS сайта:
Добавьте эту строку в середину правила (под остальными RewriteCond) и измените имя директории из примера.
Сделать собственную страницу с ошибкой (ErrorDocument)
ErrorDocument 404 /error404.html
Закрыть сайт от посетителей
Запретить доступ по IP-адресу
Простая директива, в которой указываются списки IP-адресов доступа и запрет для остальных, выглядит так:
order deny,allow
deny from all
allow from X.X.X.X
Вместо X.X.X.X укажите ваш IP-адрес (проверить его можно, например, здесь). Обращения с других IP-адресов завершатся ошибкой 403 Forbidden.
Запретить доступ по User-Agent
Вместо example1 и example2 укажите User-agent роботов или программ, доступ для которых требуется запретить.
Направить на страницу о технических работах
Также можно перенаправлять посетителей на собственноручно созданную страницу с сообщением о проводимых технических работах. С указанного в условии (RewriteCond) IP-адреса сайт будет отображаться по-прежнему:
RewriteEngine on
RewriteCond %
RewriteCond %
RewriteRule ^.*$ site-closed.html
Страницу ошибки site-closed.html необходимо поместить в корневом каталоге сайта или указать в директиве путь к ней.
Поддомен открывается с ошибкой Internal Server Error (частный случай)
Это правило отключит mod_rewrite для вложенной директории поддомена.
Установка индексного файла (DirectoryIndex)
При открытии директории без указания конкретного файла веб-сервер ищет индексные файлы index.html, index.php в порядке приоритета для отображения. Если индексные файлы отсутствуют, сервер возвращает ошибку 403 Forbidden, так как отображение списка файлов (листинг директорий) по умолчанию запрещено.
Чтобы установить в качестве индексного файла произвольный файл, следует добавить инструкцию:
Например, следующая инструкция предписывает веб-серверу при обращении к сайту открывать не страницу, а изображение example.jpg в папке pics сайта:
Настройки веб-серверов в Панели управления
В настройках базового веб-сервера вы можете изменять все директивы PHP, значение графы Changeable для которых соответствует PHP_INI_PERDIR или PHP_INI_ALL. Эти настройки будут иметь силу на всех сайтах, которые работают на этом веб-сервере.
Управлять абсолютно всеми параметрами PHP вы можете на расширенном веб-сервере, редактируя php.ini через его настройки.
Отображать ошибки PHP (display_errors)
php_value display_errors 1
Включить журнал ошибок PHP (error_log)
Для того чтобы сохранять, изучать и исправлять ошибки включите их сбор и хранение с помощью следующих строк:
php_value error_log /home/login/domains/example.com/php_errors.log
Директория в пути расположения файла должна существовать, а если ее нет — обязательно создайте папку вручную. Файл журнала будет создан при появлении первой ошибки.
Увеличить оперативную память для скриптов (memory_limit)
php_value memory_limit 512M
Вместо 512M укажите желаемый размер ограничения. Обратите внимание, что символ «M» (латинская M) указывается слитно со значением. Уточнить максимальное значение оперативной памяти, доступное по тарифу, можно в документе.
Увеличить время выполнения скриптов (max_execution_time)
php_value max_execution_time 300
Вместо 300 укажите желаемый размер ограничения. Обратите внимание, что выполнение скрипта более чем в 10 минут (600 секунд) завершится ошибкой с кодом 504.
Изменить объем загружаемого файла (post_max_size и upload_max_filesize)
По умолчанию через сайт можно загрузить файл объемом не более 1Гб. Чаще этот размер даже меньше — 100Мб, из-за ограничения на объем запроса методом POST.
php_value post_max_size 200M
php_value upload_max_filesize 200M
Вместо 200M укажите желаемый размер ограничения. Обратите внимание, что символ «M» (заглавная латинская M) указывается слитно со значением.
Передавать максимум переменных в PHP (max_input_vars)
Максимальный размер передаваемых переменных определяется с помощью следующей директивы:
php_value max_input_vars 15000
Вместо 15000 укажите необходимый размер ограничения, который требует CMS сайта.
Исправить неверную кодировку (default_charset)
AddDefaultCharset «windows-1251»
php_value default_charset «windows-1251»
Вместо «windows-1251» подставьте подходящую кодировку, например, UTF-8. Проверить, в какой именно кодировке написан сайт, можно через инструменты используемого браузера. Если сайт не обрел корректный вид, обратитесь за помощью в службу технической поддержки.
Изменить время хранения сессий PHP
Изменение времени хранения сессий может потребоваться, если вы хотите, чтобы данные об авторизации пользователей на вашем сайте сохранялись дольше.
php_value session.save_path /home/login/domains/example.ru/tmp
php_value session.gc_maxlifetime 604800
php_value session.cookie_lifetime 604800
Обратите внимание: при большом количестве посетителей и длительном времени сохранения сессий в папке, указанной в session.save_path, образуется большое количество файлов. Это может вызывать замедление сайта в момент очистки старых сессий и увеличивать количество потребляемых ресурсов. Альтернативные механизмы хранения и очистки сессий:
Другие настройки (CGI, Python, Node.js)
Включить SSI
Выполнять скрипты CGI/Perl
Включить uWSGI (Python)
Вместо site.wsgi укажите входной файл вашего приложения.
Включить Node.js c помощью приложения Passenger
Замените example.com на основное имя вашего сайта, а login на логин вашего аккаунта.
У меня остались еще вопросы!
Если вы не нашли ответа на свой вопрос в этом разделе, то вы всегда можете обратиться к нам за помощью через форму обратной связи в разделе «Поддержка» Панели управления.