Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.79/308: Рейтинг темы: голосов - 308, средняя оценка - 4.79
 Аватар для Henior
79 / 79 / 15
Регистрация: 24.11.2010
Сообщений: 515
Записей в блоге: 14

Убрать расширение php в адресной строке

09.08.2012, 23:58. Показов 65857. Ответов 35
Метки нет (Все метки)

Всем привет! Прочитал, что это можно сделать при помощи файла .htaccess. Создал файл в корневом каталоге сайта, т.е. там где лежат все файлы и папки директория www и прописал туда следующее:

PHP
1
2
3
4
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Но ожидаемого результата это не принесло, все равно выводится название страницы с расширением php. Кто сталкивался с подобной проблемой и какие пути ее решения? Спасибо!
2
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.08.2012, 23:58
Ответы с готовыми решениями:

Как убрать расширение картинки в адресной строке?
Всем доброго времени суток! Подскажите, как из вида ?pic=3.jpg сделать ?pic=3 Вот так получаю необходимую картинку по адресу ...

Как сделать, чтобы в адресной строке не отображалось расширение php?
как сделать чтоб не высвечивалась приставка php? и заходить что б можно было

Как убрать GET параметры в адресной строке
Здравствуйте! Возможно преобразовать ссылку test1.ru/index.php?page=1 в test1.ru/index/page/1/ Скрипт постраничной навигации ...

35
 Аватар для dunmaksim
1 / 1 / 5
Регистрация: 24.04.2013
Сообщений: 45
18.09.2013, 09:28
В Ваших логах написано, что превышена максимально допустимая глубина рекурсии, т.е. скрипт обращается сам к себе и ест память в огромных количествах. Используйте один из опубликованных выше конфигов .htaccess или вот этот, если Вы хотите, чтобы Ваш сайт работал через фронт-контроллер.
PHP
1
2
3
4
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{SCRIPT_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{SCRIPT_FILENAME} !-d
RewriteRule . /index.php [L]
0
0 / 0 / 0
Регистрация: 17.09.2013
Сообщений: 7
19.09.2013, 12:10
Ничего не помогает, если не трудно, помогите. Самое примитивное: есть ссылка mysite/?view=contacts, надо mysite/contacts. B .htaccess уже есть правила
PHP
1
2
3
4
5
6
7
8
9
php_flag magic_quotes_gpc OFF
 
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php 
RewriteRule ^index.php$ / [QSA,R]
Но при добавлении правила
PHP
1
RewriteRule ^([^/]*)$ /?view=$1 [L]
все ломается (500 ошибка, зацикливание, ни одна страница не отображается), а в логах - постоянно меняется referer (смотря какая последняя страница была просмотрена перед добавлением этого правила).
Помогите
0
22 / 15 / 3
Регистрация: 05.11.2013
Сообщений: 425
08.02.2015, 17:54
Вот покороче:

PHP
1
2
RewriteEngine On
RewriteRule ^(\w+)$ $1.php [NC]
0
Заблокирован
08.02.2015, 18:15
Цитата Сообщение от Loompy Посмотреть сообщение
Вот покороче:
интересно, как это будет себя вести при ссылке на картинку или на файл для скачивания?
0
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 6
12.06.2015, 16:19
Здравствуйте!
Подскажите, пожалуйста, как сделать следующее:
Цель такая же как в теме - убрать расширение php в ссылках при помощи htaccess.
В принципе, у меня работает вот это:
PHP
1
2
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Но проблема заключается в том, что у некоторых файлов php название совпадает с папкой.
Пример:
/category.php
/category/
/category/page1.php
Для таких страниц (если название совпадает с папкой) открывается директория со списком файлов в ней, ну или 403 ошибка, т.к. я закрыла просмотр папок.
Пробовала по разному, но как не кручу, не работает...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.06.2015, 16:22
самое простое - переименовать директорию, чтобы не было совпадений
0
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 6
12.06.2015, 16:31
Понимаю, но тогда не будет логичного пути. Т.е. человек перешел по ссылке категории "category/" а в ней ссылки на материалы по этой категории "/category/page1". Добавлять какую-то цифру или букву - это, на мой взгляд, уже не так красиво и совсем не логично выглядит.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.06.2015, 16:32
Я имел в виду переименовать не ссылки, а именно саму директорию, чтобы не было такой директории.
0
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 6
12.06.2015, 16:35
А потом делать подмену названия директории в htaccess?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.06.2015, 16:36
Зачем вам делать подмену?
Я вообще не знаю, зачем вам там директория category ? У вас что, URL совпадает с реальной структурой сайта? Делайте через единую точку входа и все
0
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 6
12.06.2015, 16:39
Да, совпадает =) Это плохо? К сожалению, я не знаю как делать по-другому и что такое единая точка входа...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.06.2015, 16:41
Руководство по настройке ЧПУ (Rewrite)
0
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 6
12.06.2015, 19:53
Спасибо! Буду пробовать.

Добавлено через 3 часа 5 минут
Помогите, пожалуйста, еще разобраться.
Я переименовала директории, теперь у меня так:
/category.php
/dir-category/
В htaccess так:
PHP
1
2
3
4
5
6
7
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [N]
 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)/?$ dir-$1/$2
Это работает для ссылок вида /category/page

Но для более глубокой вложенности, как я понимаю, надо другое правило.
Попробовала вот так добавить строкой ниже:
PHP
1
RewriteRule ^(.*)/(.*)/(.*)/?$ dir-$1/dir-$2/$3
Чтобы работали ссылки вида: /category/subcategory/page.
Но такие ссылки выдают ошибку 403, а ссылки /category/page стали выдавать ошибку: "[an error occurred while processing this directive]"

Подскажите, пожалуйста, что я не правильно делаю?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
12.06.2015, 20:15
вы что-то мудрите вообще.
Code
1
RewriteRule ^(.*)/?$ dir-$1
И все, не надо никаких (.*)/(.*)/(.*)/(.*)/...
0
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 6
12.06.2015, 20:35
Спасибо вам за ответ!
Оставила вот так:
PHP
1
2
3
4
5
6
7
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/?$ dir-$1
Но при запросе ссылки /category/subcategory/page - ошибка 500.
При /category/page - работает.
0
0 / 0 / 0
Регистрация: 23.07.2015
Сообщений: 1
23.07.2015, 21:39
Всем привет! Нужна помощь с htaccess.
Убрал .php из адресной строки, через htaccess, вот код:
PHP
1
2
3
4
5
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)/?$ $1.php
RewriteRule ^(.*)/([a-z_]+)/?$  $1.php
Сайт работает, но не выдает 404 ошибку. Выдает 500 ошибку.
PHP
1
ErrorDocument 404 /err404.html
В файле html указал путь так:
HTML5
1
2
3
<li class="current menu"><a href="uslugi-kompanii">Услуги</a></li>
<li class="current menu"><a href="novosti-kompanii">Новости</a></li>
<li class="current menu"><a href="kontakty">Контакты</a></li>
Может где, то не правильно сделал, помогите найти ошибку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.07.2015, 21:39

Как убрать /public/ в адресной строке?
.htaccess / AddDefaultCharset utf-8 RewriteEngine on RewriteCond %{HTTPS}_%{HTTP_HOST} ^(?|off_(?:www\.)?(.*)|on_www\.(.*)) ...

Убрать расширение .html из адресной строки
Здравствуйте! У меня вопрос: я вроде понял как убрать расширение через .htaccess, но при этом возникает проблема. Например: я нажимаю в...

Не показывать расширение в адресной строке
Как убрать расширение страницы(например *.php). Что бы вместо site.ru/index.php было site.ru/index

Расширение в имени файла в адресной строке
Почему на некоторых сайтах в адресной строке отображается например : http://mysite.com.ua/filename без расширения я просто делаю сайт а...

Как можно спрятать расширение .aspx в адресной строке?
Привет всем! Скажите, как можно спрятать расширение .aspx в адресной строке?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru