druzhkov, точно, я в первый раз тоже на этом обжегся)
- 25.03.2014 10:44
- 26.03.2014 11:31
- Регистрация: 15.03.2014
- Сообщений: 9
- Репутация: 0
Кеш чистил, все равно показывает конечный URL :-(
В различных описаниях читал, что нельзя переделать внешний редирект на внутренний, то есть если поставил 301, то как не извращайся, будет показан последний url. Я уж и пробовал "уводить" на другие директории со своим .htaccess, все равно не получается... - 27.03.2014 02:21
- Регистрация: 22.06.2012
- Сообщений: 18
- Репутация: 14
Вот так всё работает.
PHP код:Но, о каких /articles/ вы потом пишите?<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^novosti/([a-zA-Z0-9_-]+)$ /news/$1 [L,R=301]
RewriteRule ^news/([a-zA-Z0-9_-]+)$ /city-news.php?city=$1 [L]
</IfModule>
Вы определитесь и напишите один раз нормально что вам нужно.
UP. Слешь на конце?
Замените на RewriteRule ^novosti/([a-zA-Z0-9_-]+)/$ /news/$1 [L,R=301]
Или так
RewriteRule ^novosti/([a-zA-Z0-9_-]+)/?$ /news/$1 [L,R=301]Последний раз редактировалось sakhseo; 27.03.2014 в 02:24.
- 27.03.2014 15:38
- Регистрация: 15.03.2014
- Сообщений: 9
- Репутация: 0
sakhseo,
Об /articles/ писал не я, а shkip3r.
Попробовал, все равно в результате в строке отражается city-news.php?city=город :-(
Получается, что если в начале цепочки указал 301 редирект, то все преобразования проходят под "знаком" внешнего редиректа, результат которого - отражение в строке браузера конечного url. А в конечном url нужен включенный ЧПУ, который делается внутренним редиректом. Вот и получается противоречие... - 27.03.2014 15:49
- Регистрация: 22.06.2012
- Сообщений: 18
- Репутация: 14
Прежде чем написать, я проверил.
Скопируйте полностью что вы пытаетесь делать.
И да, если я поменяю сторочки
RewriteRule ^novosti/([a-zA-Z0-9_-]+)$ /news/$1 [L,R=301]
RewriteRule ^news/([a-zA-Z0-9_-]+)$ /city-news.php?city=$1 [L]
местами, ничего не изменится. Тут по другому работает. - 27.03.2014 16:50
- Регистрация: 15.03.2014
- Сообщений: 9
- Репутация: 0
sakhseo,
Все равно после запроса http://www.site.ru/novosti/novomoskovsk в строке пишет: http://www.site.ru/city-news.php?city=novomoskovsk
А на http://www.site.ru/news/novomoskovsk - все ок остается на этом урле.
Вот .htaccess:Код:RemoveHandler .html .htm AddType application/x-httpd-php .php .htm .html .phtml php_flag display_errors on php_value error_reporting 2047 php_value max_execution_time 200 RewriteEngine On RewriteBase / RewriteRule ^novosti/([a-zA-Z0-9_-]+)$ /news/$1 [L,R=301] RewriteRule ^news/([a-zA-Z0-9_-]+)$ /city-news.php?city=$1 [L] # склейка доменов RewriteCond %{HTTP_HOST} ^site\.ru$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /index.html RewriteRule .* / [R=301,L] FileETag MTime Size <ifmodule mod_expires.c> <filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$"> ExpiresActive on ExpiresDefault "access plus 1 month" </filesmatch> </ifmodule> DefaultLanguage ru AddDefaultCharset windows-1251 PHP_VALUE default_charset windows-1251
- 27.03.2014 17:41
- Регистрация: 22.06.2012
- Сообщений: 18
- Репутация: 14
Код:Вот так попробуй. Только test4 на своё замени.RemoveHandler .html .htm AddType application/x-httpd-php .php .htm .html .phtml php_flag display_errors on php_value error_reporting 2047 php_value max_execution_time 200 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^test4\.ru$ [NC] RewriteRule ^(.*)$ http://www\.test4.ru/$1 [L,R=301] RewriteRule ^novosti/([a-zA-Z0-9_-]+)/?$ /news/$1 [L,R=301] RewriteRule ^news/([a-zA-Z0-9_-]+)/?$ /city-news.php?city=$1 [L] RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /index.html RewriteRule .* / [R=301,L] FileETag MTime Size <ifmodule mod_expires.c> <filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$"> ExpiresActive on ExpiresDefault "access plus 1 month" </filesmatch> </ifmodule> DefaultLanguage ru AddDefaultCharset windows-1251 PHP_VALUE default_charset windows-1251
И не совсем понятно что у тебя будет открываться когда не будет подпадать под правила))) - 27.03.2014 18:04
- Регистрация: 15.03.2014
- Сообщений: 9
- Репутация: 0
sakhseo,
Огромный респект, sakhseo! :-) Вы - волшебник!
Я склейку доменов не там поставил, получается?Не понял этот вопрос.И не совсем понятно что у тебя будет открываться когда не будет подпадать под правила)))
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Помогите разобраться с редиректом | Прочее | 4 | 18.10.2012 19:25 |
Помогите с редиректом 301 | DLE | 8 | 20.05.2012 12:31 |
Помогите с 301 редиректом | Web программирование | 6 | 04.06.2011 14:37 |
Помогите с .htaccess! | Web программирование | 0 | 31.01.2011 03:22 |