2015-07-21 3 views
1

Моего сайта был не так давно взломан и много URL-адресов были созданы в следующем формате:Как перенаправить URL подстановочным с помощью HTAccess

http://example.com/prematurely.asp?skin=pspfsffdproblems=nq.... 

есть в любом случае я могу перенаправить все эти шаблонные адреса основано на преждевременной.asp на одной странице? например:

http://example.com/newpage 

.htaccess файл выглядит следующим образом:

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{HTTP_HOST} !^nowcosmetic\.co.uk$ [NC] 
RewriteRule ^(.*)$ http://nowcosmetic.co.uk/$1 [R=301,L] 
RewriteCond %{REQUEST_URI} ^/questions-and-answers\.html$ 
RewriteRule .* http://nowcosmetic.co.uk/botox.html [R=301,L] 
RewriteRule ^prematurely\.asp /botox? [R=301,L]' 
+0

Если эти URL-адреса были результатом взлома (который теперь очищен) и теперь больше не существуют, вам лучше просто разрешить этим URL-адресам с 404 (или 410), а не перенаправлять. Переадресация отправит неверное сообщение поисковым системам. – MrWhite

+0

Я думаю, что это решит вашу проблему 'RewriteEngine На RewriteCond% {THE_REQUEST} /prematurely\.asp\?skin=([^=]+)=([^\s]+) [NC] RewriteRule^ http://example.com/newpage? [NE, NC, R, L] ' – starkeen

ответ

0

Вы можете сделать это путем добавления правила перезаписи

RewriteEngine on 
RewriteRule ^prematurely/(.*) /newpage [R=301,L] 
+0

' '. *)' В конце шаблона «RewriteRule» является излишним, но также OP хочет совместить «beforeaturely.asp», а не «преждевременно /». Это также передаст строку запроса на целевой URL-адрес, который, вероятно, не является желательным, вам нужно, чтобы в конце подстановки «RewriteRule» в конце подстановки «RewriteRule» нужно было опустить. – MrWhite

+0

Пробовал предложение Рона, но он все еще идет к 404. http://nowcosmetic.co.uk/prematurely.asp?skin=DdfNJ&problems=RV_lP&page=253079 –

0

Как уже упоминалось в комментариях, если эти адреса являются результат взломанного сайта, который теперь разрешен, тогда вам лучше (SEO мудрый), обслуживающий 404 (или 410 Gone) вместо перенаправления.

Однако, если вы все еще хотите, чтобы перенаправить ...

перенаправлять все эти шаблонные URL-адреса на основе prematurely.asp на одной странице

В верхней части вашего файл .htaccess (в корне документа):

RewriteEngine on 
RewriteRule ^prematurely\.asp /newpage? [R=301,L] 

Обратите внимание, что RewriteEngine On должен появиться только один раз в вашем файле (вверху).

Это просто соответствует "beforeaturely.asp" (игнорируя строку запроса - согласно вашему запросу). Конечный ? в подстановке RewriteRule строит исходную строку запроса из перезаписанного URL-адреса.

+0

Привет. Еще нет радости. Я добавил свой HTAccess здесь: Опции + FollowSymLinks RewriteEngine На RewriteCond% {HTTP_HOST}^nowcosmetic \ .co.uk $ [NC] RewriteRule^(. *) $ Http://nowcosmetic.co .uk/$ 1 [R = 301, L] RewriteCond% {REQUEST_URI} ^/вопросы и ответы \ .html $ RewriteRule. * http://nowcosmetic.co.uk/botox.html [R = 301, L] RewriteRule^преждевременно \ .asp/botox? [R = 301, L] –

+0

Можете ли вы отредактировать свой вопрос и добавить туда код - будет намного легче читать и сохранять его форматирование. Благодарю. – MrWhite

+0

Я обновил исходный вопрос с помощью кода htaccess. –

Смежные вопросы