если запрашиваемый документ папка и если начинается на "script/galleries" и может быть заканчивается слешем, то реврайт на index.php в этой папке
gormarket добавил 28.02.2011 в 14:13
Извиняюсь, не получилось отредактировать: убрал последний символ в galleries, чтоб корректно обрабатывался адрес "script/galleries/" (со слешем в конце)
Как я вижу у Вас сейчас нет редиректов в .htaccess, только реврайты.
А как Вы смотрите, если сделать 301 редирект для запросов папки без файла на индексный файл в этой папке ?
Убъете сразу двух зайцев - и проблема исчезнет и дублей страниц не будет (вместо "...folder/", "...folder" и "...folder/index.php" останется только страница с index.php)
эти строки не дают 302 редирект, они отдают содержимое файлов .php если запросить файл .html, но если обратиться по адресу с .php, то они прекрасно отдаются, что вызывает дублирование страниц (.html и с .php).
Чтобы не отдавались страницы с адресами на .php, а редиректило на .html, попробуйте так
Подскажем как, но сначала скажите что исправить:
1. глюк на сайте, вызывающий появление /obzory.htm/page.htm ?
2. редирект /obzory.htm/page.htm в /obzory//page.htm (чтоб эту страницу не редиректило, а оствляло как есть) ?
3. или кривое правило редиректа, применяющееся к тому, к чему не должно применяться ?
Судя по заголовку топика второе или третье.
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(script/galleries.*[^/])/?$ $1/index.php [L]
если запрашиваемый документ папка и если начинается на "script/galleries" и может быть заканчивается слешем, то реврайт на index.php в этой папке
gormarket добавил 28.02.2011 в 14:13
Извиняюсь, не получилось отредактировать: убрал последний символ в galleries, чтоб корректно обрабатывался адрес "script/galleries/" (со слешем в конце)
если запрашиваемый документ папка и если начинается на "script/gallerie" и может быть заканчивается слешем, то реврайт на index.php в этой папке
gormarket добавил 28.02.2011 в 14:15
Как я вижу у Вас сейчас нет редиректов в .htaccess, только реврайты.
А как Вы смотрите, если сделать 301 редирект для запросов папки без файла на индексный файл в этой папке ?
Убъете сразу двух зайцев - и проблема исчезнет и дублей страниц не будет (вместо "...folder/", "...folder" и "...folder/index.php" останется только страница с index.php)
То что Вы сделали, это только освободили переменную $ для использования скриптом mootools.
А нужно еще и в коде вашего сайта заменить все обращения к jQuery через "$(..." на "jQuery(..."
В статье, ссылку на которую Вы дали, ведь написано:
А у Вас на сайте обращение и к той и к другой библиотекам осталось через $
jQuery перестал использовать $, а Вы продолжаете обращаться к нему через эту переменную.
Попробуйте такой вариант:
перенос вставляется вместо пробела после точки, но при условии что перед точкой есть не менее 25 любых символов (исключая точку).
Число 25 взял "с потолка". Можете использовать свое значение.
Но на 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])
RewriteRule ^index.html$ index.php [L,NE]
RewriteRule ^(.*).html $1.php [QSA,L]
эти строки не дают 302 редирект, они отдают содержимое файлов .php если запросить файл .html, но если обратиться по адресу с .php, то они прекрасно отдаются, что вызывает дублирование страниц (.html и с .php).
Чтобы не отдавались страницы с адресами на .php, а редиректило на .html, попробуйте так
Тогда давайте уточним, что Вам нужно
Я это понял так, что у Вас сейчас обращение к сайту идет на страницы
.php, а Вы хотите чтобы при этом посетителей перебрасывало на страницы с .html.
Так ?
Если так, то у Вас сайт сейчас отображает страницы, если обратиться сразу напрямую на .html ?
Попробовал, не работает
У Вас реврайт включен, есть в файле .htaccess такие строки?
RewriteEngine On
RewriteBase /
Если не задана база
RewriteBase /
то без / перед $1.html работать не будет, нужно так
Вы немного перепутали: сначала идет "что есть" и затем "что нужно"
(и перед точкой в регулярном выражении нужно поставить \ чтоб это была точка, а не "любой символ")