2013-08-30 5 views
0

У меня проблема, при которой Google индексировал некоторые страницы с неправильным URL-адресом..htaccess удалить index.php и другие с url

URL, они индексирование:

1. http://www.mydomain.com/index.php?a=profile&u=john 
2. http://www.mydomain.com/index.php?a=page&b=about 
3. http://www.mydomain.com/index.php?a=settings&b=avatar 
4. http://www.mydomain.com/index.php?a=feed 
5. http://www.mydomain.com/index.php?a=feed&filter=picture 
6. http://www.mydomain.com/index.php?a=post&m=32 
7. http://www.mydomain.com/index.php?lang=english 
8. http://www.mydomain.com/index.php?a=messages&u=john&id=4 
9. http://www.mydomain.com/index.php?a=feed&logout=1 

мне это нужно для перенаправления:

1. http://www.mydomain.com/john or http://www.mydomain.com/profile/john 
2. http://www.mydomain.com/about or http://www.mydomain.com/page/about 
3. http://www.mydomain.com/settings/avatar 
4. http://www.mydomain.com/feed 
5. http://www.mydomain.com/feed/picture or http://www.mydomain.com/feed/filter/picture 
6. http://www.mydomain.com/message/32 
7. http://www.mydomain.com/lang/english 
8. http://www.mydomain.com/messages/john 
9. http://www.mydomain.com/logout or http://www.mydomain.com/feed/logout 

.htaccess не моя сильная сторона, так что любая помощь будет оценена.

Заранее спасибо.

Edit:

  1. Хорошо, я получил это работает, используя два метода Дэн Парк развлечений Trimper и Джон Лин. Сначала я создаю mod rewrite url, используя метод Дэна Тримпера. Например http://www.mydomain.com/index.php?a=page&b=about, поэтому после генерации он будет производить URL как этот RewriteRule ^([^/]*)/([^/]*)$ /index.php?a=$1&b=$2 [L]

  2. Во-вторых, после того, как генерировать я использую второй метод перенаправления URL в http://www.mydomain.com/page/about с помощью метода Джон Лин:

    RewriteCond% {THE_REQUEST}^[AZ] {3,9} \ /index.php\?a=page & b = ([^ & \ ] +) RewriteRule ^/page /% 1? [L, R = 301]

  3. Спасибо!

Редактировать 2: Не работает выше, потому что конфликт. Более точное решение идет в эту тему .htaccess friendly URl

+0

Загляните в Mod rewrite http://httpd.apache.org/docs/current/mod/mod_rewrite.html – lampwins

ответ

1

Попробуйте добавить эти правила в файл Htaccess в корневом каталоге:

RewriteEngine On 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?a=profile&u=([^&\ ]+) 
RewriteRule^/profile/%1? [L,R=301] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?a=page&b=([^&\ ]+) 
RewriteRule^/page/%1? [L,R=301] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?a=settings&b=([^&\ ]+) 
RewriteRule^/settings/%1? [L,R=301] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?a=feed&logout=1 
RewriteRule^/feed/logout? [L,R=301] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?a=feed&filter=([^&\ ]+) 
RewriteRule^/feed/%1? [L,R=301] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?a=feed 
RewriteRule^/feed/? [L,R=301] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?a=feed&filter=([^&\ ]+) 
RewriteRule^/feed/%1? [L,R=301] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?a=post&m=([^&\ ]+) 
RewriteRule^/message/%1? [L,R=301] 

etc.etc.

+0

Спасибо. Сайт идет по правильному URL-адресу, но я получаю 404 Not Found. Мне нужно что-то вроде url rewrite или дружественного пользователю URL. RewriteEngine также включает модуль. Примеры страниц, Опции + FollowSymLinks RewriteEngine На RewriteCond% {THE_REQUEST}^[AZ] {3,9} \ /index\.php\?a=page&b = ([^ & \ ] +) RewriteRule ^/page /% 1? [R = 301, L] Napsters

+0

@napsters, если 'http: // www.mydomain.com/profile/john' не существует, почему в ** мире ** вы бы перенаправляли Google на эти URL-адреса ? –

+0

Я хочу обрезать URL-адрес. Это что-то вроде использования файлов htaccess для довольно URL-адресов. Рабочий URL-адрес будет похож на этот http: // www.mydomain.com/index.php?a=profile&u=john и хотите изменить его, как показано выше. – Napsters

1

Я не был слишком сообразителен с .htaccess, когда я впервые начал тоже.

Проверьте этот сайт вместе с генератором .htaccess. Он помог мне выйти, и я думаю, что он исправит ваши проблемы.

http://www.generateit.net/mod-rewrite/

Он заранее пишет правила для вашего после настройки его - затем копировать/вставить в файл .htaccess.

+0

Спасибо. Я попробую это. – Napsters

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