1

Я использую этот код htaccess для перенаправления моего https-адреса в http, когда мы используем этот простой код для этого перенаправления, все хорошо, но это нарушает ссылку поисковой системы сайта. На сайте есть посетитель от Google по этой ссылке domain.com/search/?q = jim и преобразовать его в domain.com/search/?q = и ключевое слово jim теряется.

RewriteEngine on
RewriteRule ^category/(.*)/(.*)$ category.php?id=$1&slug=$2
RewriteRule ^source/(.*)/(.*)$ source.php?id=$1&slug=$2
RewriteRule ^news/(.*)/?$ news.php?id=$1&slug=$2
RewriteRule ^page/(.*)/(.*)$ page.php?id=$1&slug=$2
RewriteRule ^search/(.*)$ search.php?q=$1
RewriteRule ^not-found$ notfound.php [G,L]
RewriteRule ^rss.xml$ rss.php
RewriteRule ^lasttagmap.xml$ lasttagmap.php
RewriteRule ^randtagmap.xml$ randtagmap.php
RewriteRule ^sitemap-(.*).xml$ sitemap.php?id=$1
RewriteRule ^categories-sitemap.xml$ categories-sitemap.php
Options +FollowSymLinks


RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

1 ответ1

0

Это должно произойти и для аналогичных, и других запросов. Как пример, если вы обращаетесь к /source/x/y?value=something что последний бит должен быть потерян. Вы пропустили строку запроса.

В документации указывалось бы, что вам нужно добавить флаг [QSA] для переписывания. Вопрос Mod_rewrite: включить строку запроса при перенаправлении также предложит это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .