Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 209, средняя оценка - 4.95
Henior
54 / 71 / 17
Регистрация: 24.11.2010
Сообщений: 493
Записей в блоге: 14
#1

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

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

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

PHP
1
2
3
4
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Но ожидаемого результата это не принесло, все равно выводится название страницы с расширением php. Кто сталкивался с подобной проблемой и какие пути ее решения? Спасибо!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2012, 23:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Убрать расширение php в адресной строке (PHP):

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

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

Убрать расширение .php в .htaccess - PHP
Здравствуйте! Я понимаю, что данная тема давно заезженная. Но все же, актуальна для меня.. Нужно в .htaccess поменять ВСЕ php страницы,...

убрать точку и расширение php в переменной - PHP
Может запутанно написал тему, извините, вопрос: Есть к примеру код: $a=$_SERVER; echo $a; выдает к примерно такое:...

Заставить php сценарий "понимать" html сущность амперсанда в адресной строке - PHP
Вот пример некоторой URL моего веб-сайта: mysite.ru/story.php?company_id=6&comment_id=23 Проблема заключается в том, что если...

Как, использующие php, сайты имеют расширение страниц html, но не php? - PHP
Сабж. Собственно говоря, сайты наверняка построены с использованием PHP, но при этом страница может иметь расширение html. Либо страница...

35
sonrisa
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 6
12.06.2015, 16:39 #31
Да, совпадает =) Это плохо? К сожалению, я не знаю как делать по-другому и что такое единая точка входа...
0
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16701 / 6623 / 433
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
12.06.2015, 16:41 #32
Руководство по настройке ЧПУ (Rewrite)
0
sonrisa
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 6
12.06.2015, 19:53 #33
Спасибо! Буду пробовать.

Добавлено через 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
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16701 / 6623 / 433
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
12.06.2015, 20:15 #34
вы что-то мудрите вообще.
Код
RewriteRule ^(.*)/?$ dir-$1
И все, не надо никаких (.*)/(.*)/(.*)/(.*)/...
0
sonrisa
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 6
12.06.2015, 20:35 #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
Dungan4ik
0 / 0 / 0
Регистрация: 23.07.2015
Сообщений: 1
23.07.2015, 21:39 #36
Всем привет! Нужна помощь с 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
23.07.2015, 21:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2015, 21:39
Привет! Вот еще темы с ответами:

Запросы GET в адресной строке - PHP
Подскажите, у меня например есть папки(категории) в них страницы. у меня написан код для вывода: &lt;?php $ext=&quot;.html&quot;; $hr =...

ID сессии в адресной строке - PHP
Как и при каких обстоятельствах ИД сессии может попасть в адресную строку или в переменную $_SERVER? Весь код перелопатил ничего не...

Переменные в адресной строке - PHP
Здравствуйте! При использовании навигации по сайте я отталкиваюсь от переменной page в адресной строке браузера. Выглядит так...

Работа с GET в адресной строке - PHP
Наверное глупый вопрос для многих тут, но я не смог придумать правильную комбинацию слов, что бы получить ответ на свой вопрос в гугл, так...


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru