jkm

Рейтинг
120
Регистрация
20.02.2014

Там почему-то css стили объявлены перед <!DOCTYPE html>.

Поставьте их между тегами <head> </head>.

Два и более повторений это {2,}

Знаки вопроса и равно можно убрать из [^...\?\=]

/[\/\-?]{2,}|[^a-zA-Z0-9\/\-]/

В самом верху файла .htaccess сразу после RewriteEngine On вставить:


RewriteCond %{QUERY_STRING} .
RewriteRule ^[^/]+/$ /$0? [L,R=301]

Смотря где расположен .htaccess в корне или в папке images.

Если images, то достаточно только


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) file.php?id=$1

Можно попробовать добиться нужного результата перенаправляя на несуществующую страницу.


RewriteCond %{HTTP_HOST} moskva\.my-site\.ru
RewriteRule ^$ http://my-site.ru/city.html [P]

RewriteCond %{HTTP_HOST} moskva\.my-site\.ru
RewriteRule ^ lol [L]


RewriteCond %{HTTP_HOST} moskva\.my-site\.ru
RewriteRule ^$ http://my-site.ru/city.html [P]

RewriteCond %{HTTP_HOST} moskva\.my-site\.ru
RewriteRule ^ - [L,F]

Только там ответ будет 403 а не 404

Для главной страницы поддомена


RewriteCond %{HTTP_HOST} moskva\.my-site\.ru
RewriteRule ^$ http://my-site.ru/city.html [P]

Не фурычит, потому что ^/robots.txt$ слеш тут лишний.


RewriteRule ^robots.txt$ http://my-site.ru/robots.php [P]

В RewriteCond %{REQUEST_URI} начальный слеш есть, а в RewriteRule его нету.

По поводу зацикливания с директивой Redirect 301


RedirectMatch 301 ^/katalog-paneley$ http://site.ru/category/katalog-paneley/21-35mm
RedirectMatch 301 ^/katalog-paneley/nichiha$ http://site.ru/category/katalog-paneley/21-35mm
RedirectMatch 301 ^/category/katalog-paneley$ http://site.ru/category/katalog-paneley/21-35mm
Всего: 749