htaccess как убрать расширение 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 (ссылок) на сайте”
Лепить «абы что» не хочу, а вдумчиво заняться ни времени, ни энтузиазма.
Хотя Вы правы — без фавикона немного неудобно плюс в поисковой выдаче не очень видно.
Займусь.
убрать расширение страницы htaccess
Спросил VeniVidiVici,
8 декабря 2016
Вопрос
VeniVidiVici
Как это исправить? думаю прописать редирект вручную для каждой страницы(о_О), типа:
но может, есть более универсальное решение?
Ссылка на комментарий
Поделиться на других сайтах
9 ответов на этот вопрос
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.
Похожие публикации
Добрый
Имеем одностраничник с несколькими якорями вида https://www.site.ru/#awards
Возможно ли через htaccess и 301редирект привести их к виду https://www.site.ru/#awards/
Спасибо)
Привет!
Хочу зафигачить ЧПУ для страниц, генерируемых фильтром.
Ленивый разработчик (breakdesigns, привет!) ноет, что это мол ему лично это не нужно, писать роутер и вообще никому из его клиентов это не интересно. Хочу свой, с параметрами и разделами.
Допустим, страница
https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=424d57&custom_f_25[0]=5831
где custom_f_24[0]=424d57 это марка авто BMW
а custom_f_25[0]=5831 это модель авто X1
Притом, могут быть более сложные варианты
https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=424d57&custom_f_25[0]=5831&custom_f_25[1]=5835
тут отмечены BMW, X1 и X5
в таком случае думаю URL должен быть каким-то таким
https://www.road.media/filter/avtomagnitoly/bmw/x1_x5
Марка тоже может быть не единичной.
Вообще набор значений может быть разным:
https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=4d657263656465732d42656e7a&custom_f_24[1]=4c616e6420526f766572
тут например
4d657263656465732d42656e7a = Mercedes-Benz
4c616e6420526f766572 = Land Rover
Соответственно, ожидается ссылка вида
https://www.road.media/filter/avtomagnitoly/land_rover_mercedes_benz
Это возможно вообще?
Буду благодарен в помощи, облазил весь интернет ничего не нашел, информацию могу оплатить, в долгу не останусь
Удалите расширение.php с помощью.htaccess
Мне нужно, чтобы удалить.php
Это возможно? Также при этом нужно ли удалять «.php» из ссылок в моем заголовочном файле? Должен IE «support» be support?
Я буду продолжать искать, пробовать и т. Д. Может ли быть какое-либо затруднение в подкаталоге?
16 ответов
Ответ Гамбо в вопросе переполнения стека Как скрыть расширение.html с помощью Apache mod_rewrite должно работать нормально.
Re 1) Измените.html на.php
Re a.) Да, это возможно, просто добавьте #tab на URL.
Re b.) Это возможно, используя QSA (Query String Append), см. Ниже.
Это также должно работать в пути подкаталога:
Apache mod_rewrite
То, что вы ищете, это mod_rewrite,
Описание: Предоставляет механизм перезаписи на основе правил для перезаписи запрошенных URL-адресов на лету.
Вообще говоря, mod_rewrite работает путем сопоставления запрошенного документа с указанными регулярными выражениями, а затем выполняет перезапись URL-адреса внутри (в рамках процесса apache) или извне (в браузере клиентов). Эти переписывания могут быть такими же простыми, как внутренний перевод example.com/foo в запрос для example.com/foo/bar.
Документы Apache включают в себя mod_rewrite руководство, и я думаю, что некоторые вещи, которые вы хотите сделать, описаны в нем. Подробное руководство по mod_rewrite.
Заставить www подобласть
Я хотел бы, чтобы он заставлял «www» перед каждым URL, так что это не domain.com, а www.domain.com/page
Руководство по перезаписи содержит инструкции для этого в примере Canonical Hostname.
Удалить косую черту (часть 1)
Я хотел бы удалить все косые черты со страниц
Я не уверен, почему вы захотите сделать это, так как руководство по переписыванию содержит пример с полной противоположностью, то есть всегда включающий косую черту. Документы предполагают, что удаление косой черты имеет большой потенциал для возникновения проблем:
Каждый веб-мастер может спеть песню о проблеме косой черты в URL, ссылающихся на каталоги. Если они отсутствуют, сервер выдает ошибку, потому что если вы говорите /
quux/foo/ Затем сервер ищет файл с именем foo. И поскольку этот файл является каталогом, он жалуется. На самом деле, он пытается исправить это сам в большинстве случаев, но иногда вам нужно подражать этому механизму. Например, после того, как вы сделали много сложных переписываний URL-адресов в сценарии CGI и т. Д.
Возможно, вы могли бы рассказать, почему вы хотите удалить косую черту все время?
При правильной комбинации регулярных выражений это должно быть возможно в некоторой степени. Тем не менее, я могу предвидеть некоторые возможные проблемы, связанные с тем, что страницы индексов не запрашиваются правильно и не соответствуют каталогам.
Например, это правильно перезапишет example.com/test как запрос для example.com/test.php:
Но заставит example.com не загружаться, потому что нет example.com/.php
Я собираюсь догадаться, что если вы удаляете все завершающие слэши, то выбор запроса на индекс каталога из запроса на имя файла в родительском каталоге станет практически невозможным. Как вы определяете запрос на каталог ‘foobar’:
из запроса на файл с именем foobar (который на самом деле foobar.php)
Это может быть возможно, если вы использовали RewriteBase директивы. Но если вы сделаете это, то эта проблема станет намного сложнее, так как вы собираетесь требовать RewriteCond директивы для проверки уровня файловой системы, если запрос отображается на каталог или файл.
Тем не менее, если вы отмените свое требование об удалении всех конечных слешей и вместо этого добавите принудительные добавления конечных слешей, проблема «без расширения.php» становится немного более разумной.
Но есть еще один вариант, установить DefaultType а также DirectoryIndex директивы как это:
Теперь запросы на hi.txt (и все остальное) выполняются успешно, запросы на example.com/test возвращают обработанную версию test.php, а файлы index.php снова будут работать.
Я должен отдать должное, где кредит должен за это решение, поскольку я нашел это Блог Майкла Дж. Радвинса, ища в Google php без расширения apache.
Удалить косую черту
Некоторые ищут apache remove trailing slashes привел меня на некоторые страницы поисковой оптимизации. Очевидно, что некоторые системы управления контентом (в данном случае Drupal) сделают контент доступным с косой чертой в URls и без нее, что в мире SEO приведет к штрафу за дублирование контента. Источник
Решение кажется довольно тривиальным, используя mod_rewrite мы переписываем при условии, что запрошенный ресурс заканчивается / и переписать URL, отправив обратно 301 Permanent Redirect HTTP заголовок.
Теперь мы куда-то добираемся. Давайте сложим все вместе и посмотрим, как это выглядит.
Это предполагает, что домен foobar.com и он работает на стандартном порту 80.
Флаг ‘R’ описан в RewriteRule директивный раздел. Snippet:
redirect|R [=code] (принудительное перенаправление) Замена префикса с помощью http://thishost[:thisport]/ (что делает новый URL URI) для принудительного внешнего перенаправления. Если код не указан, будет возвращен HTTP-ответ 302 (MOVED TEMPORARILY).
Финальная нота
Я не смог заставить удаляться косую черту. Перенаправление закончилось тем, что дало мне бесконечные циклы перенаправления. После прочтения оригинального решения у меня сложилось впечатление, что приведенный выше пример работает для них из-за того, как настроена их установка в Drupal. Он конкретно упоминает:
На обычном сайте Drupal с включенными чистыми URL эти два адреса в основном взаимозаменяемы
В отношении URL-адресов, заканчивающихся косой чертой и без нее. Более того,
htaccess файл удалить индекс.php из url
у меня проблема, когда google проиндексировал некоторые страницы с неправильным url-адресом.
url, который они индексируют:
мне нужно перенаправить его на:
.htaccess не моя сильная сторона, поэтому любая помощь будет очень признательна.
7 ответов
mod_rewrite должен быть включен с PHP, и это будет работать для версии PHP выше 5.2.6.
удалить index.php из URL и перенаправить посетителя на неиндекс.php версия страницы:
использование перенаправления 301 сохранит рейтинг поисковой системы Google.
предполагая, что существующий url-адрес
и мы хотим преобразовать его в
вы можете использовать следующее правило :
в spep #1 мы сначала сопоставляем строку запроса и фиксируем все после / index.на PHP/ и полученное значение сохраняется в %1 var. Затем мы отправляем браузер на новый URL-адрес. #2 обрабатывает запрос внутренне. Когда браузер прибывает в / foo / bar, #2rule переписывает новый url в исходное местоположение.
выполните следующие действия
1. убедитесь, что модуль hosting / your pc mod_rewrite активен. если не активен, попробуйте активировать способом, откройте httpd.файл conf. Вы можете проверить это в phpinfo.php, чтобы узнать.
изменить этот параметр :
быть и перезапустить wamp
если выше не работает, попробуйте это:
шаги для удаления индекса.php из url для вашего сайта wordpress.
если все еще не удалось, то проверьте свой хостинг, мой был digitalocean server, поэтому я очистил его сам
отредактировал файл / etc/apache2/sites-enabled / 000-по умолчанию.conf
добавлена эта строка после DocumentRoot/var/www / html
перезапустите apache сервер
Примечание:/var/www / html будет вашим корневым документом
некоторые могут получить 403 с помощью метода, указанного выше, используя mod_rewrite. Другое решение rewite индекса.php out выглядит следующим образом: