Как перенаправить 301 URL с параметрами PHP в корневой каталог в .htaccess?

Я искал, как перенаправить URL с параметрами в корневой каталог, но я не могу заставить его работать 🙁

Вот как выглядит код .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

RewriteEngine On
RewriteCond %{QUERY_STRING} id=1
RewriteRule ^phpnuke/modules\.php$ /? [L,R=301]

У меня есть URL, такой как «http://www.domain.com/phpnuke/modules.php?name=News&Файл = статья&SID = 60«и я хочу перенаправить его на»http://www.diagonally.org/«

1

Решение

Сохраните правило перенаправления до правила перезаписи WP по умолчанию и сопоставьте правильную строку запроса:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} name=News&file=article&sid=60
RewriteRule ^phpnuke/modules\.php$ /? [L,R=301]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
1

Другие решения

Попробуйте что-нибудь подобное

# For sites running on a port other than 80
RewriteCond %{HTTP_HOST}   !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*)         http://www.example.com:%{SERVER_PORT}/$1 [L,R]
2

По вопросам рекламы [email protected]