У меня перенаправленный веб-сайт с «www.example.com» на «example.com».Использование записи в файле .htacccess:
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
При входе на сайт: www.example.com перенаправление работает: http://example.com
Однако при входе на подстраницу: www.example.com / page1.html, страница загружается правильно, но адрес: http://example/index.php?P=page1.html.
Это связано с записью в файле .htaccess, которая находится в начале:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^(.*)/n_(.*)+ [NC]
RewriteRule ^(.*)?$ index.php?p=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.*)/n_(.*)+ [NC]
RewriteRule ^n_(.*)[_+?]?$ index.php?p=news&nid=$1 [QSA,L]
Как бороться с перенаправлением 301 для удаления 'index.php?P = '