Я два типа URL-адресов:.htaccess; Слишком много переадресаций, если два различных переадресовывает в .htaccess
http://www.example.com/?content=contact_form.php
и
http://www.example.com/?content=product.php&id=20
Я изменил всю мою систему URL, как это:
http://www.example.com/file/contact_form
и
http://www.example.com/product/I-m-the-title/20
Конечно, я сделал 301 переадресацию с .htaccess
, чтобы сообщить Google и co. новый URL.
Я сделал это так:
# Rewrite URLs
RewriteEngine On
RewriteRule ^(ignore)($|/) - [L]
RewriteRule ^file/([^/]*)$ /?content=$1.php [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /?content=$1.php&title=$2&id=$3 [L]
# Redirect old URL to new URL
RewriteCond %{QUERY_STRING} ^content=contact\_form\.php$
RewriteCond %{REQUEST_URI} ^\/$
RewriteRule .* http://www.example.com/file/contact_form? [R=301,L]
RewriteCond %{QUERY_STRING} ^content=product\.php&class=I-m-the-title$
RewriteCond %{REQUEST_URI} ^\/$
RewriteRule .* http://www.example.com/I-m-the-title/Test/20? [R=301,L]
Моей проблема:
Это прекрасно работает: http://www.example.com/?content=product.php&id=20
Но для http://www.example.com/?content=contact_form.php
я получаю сообщение, что он не может получить открытое из-за слишком большого перенаправления.
Кто-нибудь знает, что я делаю неправильно? Я надеюсь, что кто-то может мне скоро помочь, потому что я должен это исправить, прежде чем Google неправильно истолковал это.
Ты замечательный. Спасибо, большое спасибо! – David