Удалить слэш в конце строки php

Удалить слэш в конце строки php

Я приведу 2 кода, один всегда удаляет слэш на конце URL, а другой всегда добавляет. Начнём с 1-го варианта:

Теперь если пользователь введёт «http://mysite.ru/dir/» его автоматически перенаправит на «http://mysite.ru/dir«. Разумеется, все GET-параметры сохранятся. Например, если пользователь вводил: «http://mysite.ru/dir/?a=5&b=7«, то его перенаправит по такому адресу «http://mysite.ru/dir?a=5&b=7«.

А сейчас давайте рассмотрим вариант, когда нам обязательно нужен слэш в конце URL, то есть чтобы при вводе «http://mysite.ru/dir» был автоматический переход на «http://mysite.ru/dir/«:

С этим кодом в .htaccess слэш будет добавляться автоматически в конце URL.

Удалить слэш в конце строки php

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Комментарии ( 13 ):

Скажите, а можно через «.htaccess» удалить расширения файлов, к примеру было mysite.php а стало просто mysite?

Добрый день. Была такая проблема, слеш на конце ссылок. Все сделал как вы написали..все работает. Но перестало заходить в админку. Joomla. там видимо на конце тоже слеш. Как быть в таком случае?

Как быть в таком случае? Не использовать CMS.

Скажите, а как мне добавить слеш в конце для opencart, данный код не работает

Здравствуйте! Подскажите, пожалуйста, как сделать исключения для страниц с Get параметрами: т.е., везде на сайте со слешем в конце url, а на страницах с Get параметрами — без. Например: www.site.ru/catalog/ и www.site.ru/login (уже без слеша), чтобы можно было добавлять страницы в такие исключения. Спасибо!

Ребят, скажите, а реально сделать, чтобы http://site.ru/contacts.php открывался как http://site.ru/contacts/ Т.е ссылка то выглядит как ссылка на директорию contacts, но это файл. Или по старинке в папку contacts поместить index.php?

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

Copyright © 2010-2021 Русаков Михаил Юрьевич. Все права защищены.

Источник

Убрать слэш / в конце URL

День добрый. Помогите разобраться с проблемой.

Но он не дает никакого эффекта. Вернее вызывает зацикливание рерайта.

Подозреваю что я натолкнулся на какой-то bug Апача, либо конкретно модуля mod_dir.
И всё же… что делать?

Удалить слэш в конце строки php

Удалить слэш в конце строки php

Файла скрипта пока не существует. Есть только папка. По идее при обращении по этому URL пока что должен прилетать 404.

Удалить слэш в конце строки php

Удалить слэш в конце строки php

Удалить слэш в конце строки php

Удалить слэш в конце строки php

Удалить слэш в конце строки php

Удалить слэш в конце строки php

DirectorySlash Off
SetHandler script-handler

Вот так, с SetHandler-ом, пробывали?

Удалить слэш в конце строки php

Сорри

DirectorySlash Off
SetHandler some-handler

Удалить слэш в конце строки php

Удалить слэш в конце строки php

Удалить слэш в конце строки php

Удалить слэш в конце строки php

DirectorySlash off
SetHandler script-handler

DirectorySlash on
SetHandler default-handler

Action script-handler /cgi/script.cgi

Удалить слэш в конце строки php

Удалить слэш в конце строки php

Удалить слэш в конце строки php

Не сказать что это проблема. Это необходимость…
Мне поставили задачу, настроить сервер таким образом, чтобы по обоим ссылкам domain.tld/script и domain.tld/script/ вызывался один и тот же скрипт. При этом существует каталог с таким именем.
И mod_dir перехватывает ссылку еще до mod_rewrite…
А диркетива DirectorySlash off не работает…
Я думал что наткнулся на баг. И что может быть кто-то уже сталкивался, и знает решение.

Пока что решили переименованием каталога со скриптом, и rewrite-ами, но загадочное поведение диркетивы DirectorySlash off интересна.

Источник

stripcslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

stripcslashes — Удаляет экранирование символов, произведённое функцией addcslashes()

Описание

Список параметров

Строка, у которой нужно убрать экранирование.

Возвращаемые значения

Возвращает неэкранированную строку.

Смотрите также

User Contributed Notes 3 notes

stripcslashes does not simply skip the C-style escape sequences \a, \b, \f, \n, \r, \t and \v, but converts them to their actual meaning.

$str = «we are escaping \r\n» ; //we are escaping

> /*QUOTE
> stripcslashes(‘He\xallo’) == ‘He’.»\n».’llo’
> stripcslashes(‘H\xaello’) == ‘H’.chr(0xAE).’llo’
> */
>
> You Can Use
>
> stripcslashes(‘H\xa0ello’) == ‘H’.chr(0xA0).’ello’
Correct. But not what (I think) you were trying to show.

>
> as xa0 = xa = chr(xA)
Not so correct.

Does 9==90? No, because that added zero *after* the number means something.
It’s when you add a zero *before* the number does it not affect the value.

I’d like to assume that was a typo, but with the Internet as it is, who knows.
> You Can Use
>
> stripcslashes(‘H\x0aello’) == ‘H’.chr(0x0A).’ello’
fix’d

you might want to do a double stripslashes to completely remove 3 consecutive slashes

$stripped = ‘this is a string with three\\\ slashes’;
$stripped = stripslahses($stripped);
would output:
‘this is a string with three\ slashes’

$stripped = ‘this is a string with three\\\ slashes’;
$stripped = stripslahses(stripslashes($stripped));
would output:
‘this is a string with three slashes’

Источник

Убираем повторяющиеся слеши в конце url

Предисловие: Новая рубрика

Порой самописные сайты и сайты с корявыми CMS полны технических огрехов и недоработок, что, в свою очередь, плодит множество ошибок при индексировании сайта поисковыми системами.

Чаще эти вещи не видны невооружённым взглядом, а ещё чаще даже не предполагаются как проблема в принципе.

Открываем новую рубрику, куда будем складывать сухой код для решения проблем по части настройки сайтов, доработки движков и прочих «костылей» из серии «когда ждать разработчика нет сил и смысла. Сделаем всё сами — спасибо!».

Чит-код

Назовём её «Чит-код». В названии прекрасно всё: тут и любые многими читы, упрощающие жизнь, тут и код — команды и инструкции для программ.

Если что-то может пойти не так, именно так оно и пойдёт

Например, если страница на вашем сайте по адресу https://your-site.ru/page-with-slashes/// будет открываться без проблем и адрес в строке браузера так и останется с кучей слешей на конце, то знайте что для поисковиков:

Это четыре разные страницы. Хотя уверен, показывают они одно и тоже.

Исправляем недоразумение

Любые недоразумения с повторяющимися слешами будут редиректится в один, тем самым не плодя малополезные клоны одной страницы.

Убрать несколько слешей в конце url на Битриксе

Можно настроить редиректы в файлах конфигурации Nginx, но доступ к ним очень редко дают да и то, если сайт крутится на выделенном сервере. А это для небольших проектов, как правило, экзотика и как “пушкой по воробьям”.

Поэтому делаем «костыль» — убираем слеши в URL с помощью PHP

Как это сработало у меня.

Как это вообще возможно?!

Если честно, поисковые системы специально не будут искать такие технические дыры в вашем сайте. Боты ходят по ссылкам и по специально указанным страницам в файле sitemap.xml и шансы найти именно дубли с повторяющимися слешами маловероятны.

Но вот если кто-то специально подскажет боту, направив ссылкой, а то и не одной…

Чисто моё мнение, что вышеописанный код просто подстраховка от любителей чёрного SEO и недалёких конкурентов-технарей.

Также некоторые алерт-сервисы ругаются и надоедают, найдя возможности для пессимизации. Один раз настроил и забыл.

Если вы не знаете зачем этот файл нужен, где он находится и за что отвечает, то срочно закрывайте эту страницу!

Файл для настройки веб-сервера не место для баловства и учебных экспериментов.

Источник

Как с помощью PHP удалить символ – все способы реализации

Дата публикации: 2017-05-19

Удалить слэш в конце строки php

От автора: может, слов не выкинешь из песни. Но вот в PHP удалить символ проще простого. Сегодня этим и займемся.

Функциональный подход

Имеется в виду использование встроенных в ядро языка функций. Сначала используем str_replace(). Она принимает три аргумента: символ замены, заменяемый символ и исходную строку. Пример:

Удалить слэш в конце строки php

Удалить слэш в конце строки php

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Но это не единственная функция для изъятия «нежелательного» элемента из строки. Вот еще одна:

Удалить слэш в конце строки php

Здесь для удаления определенных частей текста применяем функцию substr(). В качестве параметров передаем ей первоначальную строку, положение, с которого нужно отсечь строку, и положение последнего знака возвращаемой подстроки.

Использование данной функции оправдано, если знаете очередность символа, который нужно изъять.

Вот еще одна функция, помогающая в решении проблемы. strstr() возвращает часть строки до или после переданного ей символа. Как от него избавиться:

Удалить слэш в конце строки php

Для этого в параметрах функции указываем true и получаем левую часть строки от символа, но уже без него.

Регулярки, потому что регулярно

Как всегда, господа, «на второе» у нас регулярные выражения. Их использование крайне удобно для решения некоторых «неудобных» ситуаций. К примеру, если нужно избавиться от повторяющихся знаков:

Здесь применяется функция для работы с регулярками preg_replace(). В переданной ей строке она ищет заданный символ и меняет его на другой. В приведенном выше примере таким образом мы избавились от нулей в тексте.

Удалить слэш в конце строки php

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Удалить слэш в конце строки php

Разработка веб-приложения на PHP

Создайте веб-приложение на PHP на примере приема платежей на сайте

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *