Форум программистов, компьютерный форум, киберфорум
Наши страницы
Apache, htaccess
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.82
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
#1

Редирект с .php на без .php - Apache, htaccess

28.04.2013, 12:27. Просмотров 3854. Ответов 11
Метки нет (Все метки)

Помогите пожалуйста, нужно сделать такой редирект:

с страницы http://mysite.com.ua/instruction.php на http://mysite.com.ua/instruction

сейчас в htaccess прописано следующее:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www.mysite.com.ua(.*)
RewriteRule ^(.*)$ http://mysite.com.ua/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://mysite.com.ua/ [R=301,L]

Redirect [301] /instruction.php http://mysite.com.ua/instruction

но оно у меня не работает, а выдает ошибку Not found. Что я делаю не так ?
http://www.cyberforum.ru/apache/thread1938596.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 12:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Редирект с .php на без .php (Apache, htaccess):

Редирект с /index.php/... на /...
Помогите поменять адрес: "http://mysite.ru/index.php/welcome" на...

mod_rewrite: все на index.php без www и index.php
Приветствую, уважаемые форумчане! :) Подскажите, пожалуйста, как мне...

Редирект на index.php, сохраняя GET запрос
Добрый день! Я полный 0 в настройке .htaccess, дел огромное количество...

Редирект через php или .htaccess
Приветствую. Я не программист, но столкнулся с одной задачкой. На старый домен...

htaccess редирект для всех index.php
Существует ли возможность с помощью регулярных выражений htaccess убрать из...

11
MVS76
Не мoдepaтор
339 / 314 / 94
Регистрация: 07.07.2012
Сообщений: 1,015
Записей в блоге: 7
28.04.2013, 13:50 #2
если не ошибаюсь, то так
HTML5
1
RewriteRule ^instruction/$ instruction.php [L]
0
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
28.04.2013, 15:52  [ТС] #3
Правильнее вот так:
HTML5
1
RewriteRule ^instruction$ /instruction.php [L]
но оно все равно работает не так как мне нужно. Если так сделать то у меня открывает и страницу instruction.php и instruction, а мне нужно чтоб если прописать в конце php, то чтоб оно убирало его.
0
fa2m
355 / 279 / 22
Регистрация: 27.08.2012
Сообщений: 855
28.04.2013, 17:24 #4
[R=301,L]
0
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
28.04.2013, 17:46  [ТС] #5
если так сделать то оно постоянно перенаправляет на страницу с php, а мне нужно наоборот на страницу без php.
0
fa2m
355 / 279 / 22
Регистрация: 27.08.2012
Сообщений: 855
28.04.2013, 17:56 #6
RewriteRule ^instruction\.php$ /instruction [R=301,L]
логично? )))
0
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
28.04.2013, 18:19  [ТС] #7
так работает, но почемуто всеравно не находит страницу. У меня ссылка прописана вот так:
HTML5
1
<a href="/instruction">Инструкция</a>
0
MVS76
Не мoдepaтор
339 / 314 / 94
Регистрация: 07.07.2012
Сообщений: 1,015
Записей в блоге: 7
28.04.2013, 18:33 #8
Проще сделать так, как я написал первый раз
HTML5
1
RewriteRule ^instruction/$ instruction.php [L]
а на индексной странице или на любой другой указывать адрес ссылки вот так
HTML5
1
2
<a href="/instruction/" alt"in">Уголок покупателя</a>
<a href="/feedback/" alt="fb">Задать вопрос</a>
и тогда при переходе на страницу instruction.php сразу будет в адресной строке
HTML5
1
http://www.site.ua/instruction/
ну а кто будет набирать вручную с php в конце?
Если нужно чтоб вообще не было в конце php, тогда переименуйте файл instruction.php например в instructionS.php а в .htaccess пропишите
HTML5
1
RewriteRule ^instruction/$ instructionS.php [L]
и при наборе instruction.php будет выдавать ошибку 404
1
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
28.04.2013, 18:54  [ТС] #9
MVS76, логично, я так и думал, сначала переименовать например на instructionS, а потом сделать перенаправление, но вот меня смущает то как к этому отнесется поисковик, не посчитает ли он это за дубль ?
0
fa2m
355 / 279 / 22
Регистрация: 27.08.2012
Сообщений: 855
28.04.2013, 19:11 #10
Переименовывать не нужно, выдавать 404 ошибку тоже.
Делаете 301-е перенаправление "с .php" на "без .php" и редактируете (как уже сказали все ссылки на сайте, чтобы не были "с .php"), ждёте пока ПС их склеют.
А если решите переименовывать и закрывать 404-ой, будете ждать пока сайт заново переиндексируется и за это время будете терять трафик (пользователей). А не закроете 404 - получите дубли.
0
MVS76
Не мoдepaтор
339 / 314 / 94
Регистрация: 07.07.2012
Сообщений: 1,015
Записей в блоге: 7
28.04.2013, 19:26 #11
Пример моего сайта на котором по неосторожности сначала стояли ссылки с php в конце, потом решил чтоб не терять трафик, сделал именно так, как написал сразу в первом ответе, и все ссылки переименовал без php в конце, то есть страница была доступна по двум адресам.
Через пару недель, поисковики проиндексировали новую ссылку - без php, и сейчас в выдаче страниц с php нет, сайт в поиске ничего не потерял - могу ошибаться!
0
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
28.04.2013, 20:20  [ТС] #12
просто у меня тоже сначала проиндексировал с php, а теперь не знаю как их убрать из выдачи. Потому я и хотел сделать так чтоб если пользователь из гугла зайдет по ссылке с php то чтоб его перенаправляло на страницу без php.
0
28.04.2013, 20:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 20:20
Привет! Вот еще темы с решениями:

Rewrite с .php на без
Добрый вечер! Помогите пожалуйста с реврайтом. Мне нужно чтобы переход по...

Htaccess, Страница без расширения .php
Мне нужно было получить site.ru/login Я приминил правило RewriteRule...

Переадресация на non .php, когда имя файла php аналогично папке
На сайте есть папка site.com/dir и есть файл site.com/dir.php При...

Mod_rewrite, Как изменить вид ссылки типа index.php?cat=php
ссылка получается вот такая: ...


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

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

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