.htaccess

T
На сайте с 25.03.2011
Offline
121
343

Добрый день!

Подскажите, как сделать, чтобы страничка http://mysite.ru/news.php?page=obzor-novosti воспринималась также как http://mysite.ru/news/

izbushka
На сайте с 08.06.2007
Offline
110
#1

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

Чего вы хотите добится? Чтоб по адресу http://mysite.ru/news/ и http://mysite.ru/news.php?page=obzor-novosti открывалась одна и таже страница? А что будете делать с дублями?

T
На сайте с 25.03.2011
Offline
121
#2

izbushka, вы правы, естественно, чтобы только один вариант был - http://mysite.ru/news/

---------- Добавлено 14.12.2012 в 15:36 ----------

Вот что на данный момент:

AddDefaultCharset UTF-8

RewriteEngine On

# Убираем www

RewriteBase /

RewriteCond %{HTTP_HOST} ^www.mysite.ru$ [NC]

RewriteRule ^(.*)$ http://mysite.ru/$1 [R=301,L]

# Убираем вконце слеш

RewriteCond %{HTTP_HOST} (.*)

RewriteCond %{REQUEST_URI} /$ [NC]

RewriteRule ^(.*)(/)$ $1 [L,R=301]

# Убираем index.php

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

RewriteRule ^index\.php$ http://mysite.ru/ [R=301,L]

# ЧПУ

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1 [L]

RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?page=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^news/([a-zA-Z0-9_-]+)$ news.php?page=$1 [L]

RewriteRule ^news([a-zA-Z0-9_-]+)/$ news.php?page=$1 [L]

MALCHUN
На сайте с 01.05.2009
Offline
71
#3

А что вписать в этот файл что бы при открытии этого сайта каждый раз открывался разный сайт. И можно ли так сделать в панели регистратора домена? Ну очень надо напишите пожалуйста. Спасибо.

Хуже ссылочной биржи (http://www.linkfeed.ru/reg/59860) Я не видел :)
YC
На сайте с 15.01.2013
Offline
5
#4
Toker:
Добрый день!
Подскажите, как сделать, чтобы страничка http://mysite.ru/news.php?page=obzor-novosti воспринималась также как http://mysite.ru/news/

Пропишите редирект в htaccess

RewriteCond %{REQUEST_FILENAME} news.php

RewriteCond %{QUERY_STRING} page=obzor-novosti

RewriteRule ^.*?$ http://mysite.ru/news/? [L,R=301]

Консультант ТопЭксперт. Рекомендую: Полный курс СЕО (http://www.topexpert.pro/seo-kurs.html), Курс СЕО-драйв (http://www.topexpert.pro/seo-kurs-s.html), Школа СЕО аналитики (http://www.topexpert.pro/seo-analytics-school.html)
siv1987
На сайте с 02.04.2009
Offline
427
#5
Toker:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^news/([a-zA-Z0-9_-]+)$ news.php?page=$1 [L]
RewriteRule ^news([a-zA-Z0-9_-]+)/$ news.php?page=$1 [L]

Полный WTF.

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^news/([\w]+)/$ news.php?page=$1 [L]

Если на сервере не планируется реальная папка news/ RewriteCond %{REQUEST_FILENAME} !-f и RewriteCond %{REQUEST_FILENAME} !-d можно совсем убрать. Остальные реврайты также унылы.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий