- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую вас коллеги.
Столкнулся с проблемой. Необходимо все страницы сайта с расширением .php перевести в .html
Пробовал и не работает:
1. RedirectMatch 301 (.*)\.php$ http://www.example.com$1.html
2. RewriteRule ^(.*).html /$1.php [R=301,L]
Прошу помочь решить проблему!
Вы немного перепутали: сначала идет "что есть" и затем "что нужно"
(и перед точкой в регулярном выражении нужно поставить \ чтоб это была точка, а не "любой символ")
Вы немного перепутали: сначала идет "что есть" и затем "что нужно"
(и перед точкой в регулярном выражении нужно поставить \ чтоб это была точка, а не "любой символ")
Попробовал, не работает:(
Попробовал, не работает
У Вас реврайт включен, есть в файле .htaccess такие строки?
RewriteEngine On
RewriteBase /
Если не задана база
RewriteBase /
то без / перед $1.html работать не будет, нужно так
Сейчас вот так:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)\.php $1.html [R=301,L]
не работает:(
Тогда давайте уточним, что Вам нужно
Я это понял так, что у Вас сейчас обращение к сайту идет на страницы
.php, а Вы хотите чтобы при этом посетителей перебрасывало на страницы с .html.
Так ?
Если так, то у Вас сайт сейчас отображает страницы, если обратиться сразу напрямую на .html ?
Тогда давайте уточним, что Вам нужно
Я это понял так, что у Вас сейчас обращение к сайту идет на страницы
.php, а Вы хотите чтобы при этом посетителей перебрасывало на страницы с .html.
Так ?
Если так, то у Вас сайт сейчас отображает страницы, если обратиться сразу напрямую на .html ?
Вот так работает(и стоит), но отдает 302 вместо 301:
RewriteEngine On
Rewritebase /
RewriteRule ^index.html$ index.php [L,NE]
RewriteRule ^(.*).html $1.php [QSA,L]
RewriteRule ^index.html$ index.php [L,NE]
RewriteRule ^(.*).html $1.php [QSA,L]
эти строки не дают 302 редирект, они отдают содержимое файлов .php если запросить файл .html, но если обратиться по адресу с .php, то они прекрасно отдаются, что вызывает дублирование страниц (.html и с .php).
Чтобы не отдавались страницы с адресами на .php, а редиректило на .html, попробуйте так
эти строки не дают 302 редирект, они отдают содержимое файлов .php если запросить файл .html, но если обратиться по адресу с .php, то они прекрасно отдаются, что вызывает дублирование страниц (.html и с .php).
Чтобы не отдавались страницы с адресами на .php, а редиректило на .html, попробуйте так
Сейчас вот так:
RewriteEngine On
Rewritebase /
RewriteRule ^(.*)\.php http://www.example.ru/$1.html [R=301,L]
Но на php тоже отдает страницы.
Т.е редиректит, но php страницы тоже отдает.
Но на php тоже отдает страницы.
Почему-то не помогает "http://"...
в строке
RewriteRule ^(.*)\.php http://www.example.com/$1.html [R=301,L]
php заменяется на html, а потом в следующих строках (на следующем проходе по файлу) html перезаписывается снова на php.
Можно попробовать при преобразованиях назначать переменную, и проверять ее, чтоб не произошло обратного преобразования.
строку
RewriteRule ^index.html$ index.php [L,NE]
можно выкинуть, этот вариант тоже обрабатывает вторая строка (RewriteRule ^(.*).html $1.php [QSA,L])
Почему-то не помогает "http://"...
в строке
RewriteRule ^(.*)\.php http://www.example.com/$1.html [R=301,L]
php заменяется на html, а потом в следующих строках (на следующем проходе по файлу) html перезаписывается снова на php.
Можно попробовать при преобразованиях назначать переменную, и проверять ее, чтоб не произошло обратного преобразования.
строку
RewriteRule ^index.html$ index.php [L,NE]
можно выкинуть, этот вариант тоже обрабатывает вторая строка (RewriteRule ^(.*).html $1.php [QSA,L])
Великолепно! Работает. Обратитесь плиз в личку.