2016-03-01 7 views
1

Я получил эту ошибку ERR_TOO_MANY_REDIRECTS на хроме, когда я добавить этот код на .htaccess:.htaccess ERR_TOO_MANY_REDIRECTS

# Redirect old Page URLs to new URLs 
# Old URL format: http://example.com/?page=pagename 
# New URL format: http://example.com/page/pagename 
RewriteCond %{QUERY_STRING} ^page=(.*)$ 
RewriteRule ^(.*)$ page/%1? [R=301,L] 

# Redirect old Search URLs to new URLs 
# Old URL format: http://example.com/search.php?search=keyword 
# New URL format: http://example.com/search/keyword 
RewriteCond %{REQUEST_URI} search.php 
RewriteCond %{QUERY_STRING} ^search=(.*)$ 
RewriteRule ^(.*)$ search/%1? [R=301,L] 

# Redirect old Post URLs to new URLs 
# Old URL format: http://example.com/post.php?id_post=1 
# New URL format: http://example.com/post/1 
RewriteCond %{REQUEST_URI} post.php 
RewriteCond %{QUERY_STRING} ^id_post=([0-9]*)$ 
RewriteRule ^(.*)$ post/%1? [R=301,L] 

# Support new SEO-friendly URLs 
RewriteRule page/(.*) ?page=$1 
RewriteRule search/(.*) search.php?search=$1 
RewriteRule post/(.*) post.php?id_post=$1 

Не могли бы вы, ребята, скажите мне Wheres ошибку, пожалуйста, уже пытались понять его, но не смог найти какая ошибка.

ответ

3

Ваши правила внутренне переписывают целевой URL для себя. Вы должны использовать %{THE_REQUEST}, чтобы предотвратить это поведение, поскольку эти переменные не соответствуют внутренним перенаправлениям.

RewriteEngine on 

#--Redirect from "/?page=foo" to "/page/foo"--# 
RewriteCond %{THE_REQUEST} /\?page=([^\s]+) [NC] 
RewriteRule^/page/%1? [NC,L,R] 
#--Rewrite "/page/foo/" to "/?page=foo"--# 
RewriteRule ^page/([^/]+)/?$ /?page=$1 [NC,L,QSA] 

#--Redirect from "/search.php?search=foo" to "/search/foo"--# 
RewriteCond %{THE_REQUEST} /search\.php\?search=([^\s]+) [NC] 
RewriteRule^/search/%1? [NC,L,R] 
#--Rewrite "/search/foo/" to "/search.php?search=foo"--# 
RewriteRule ^search/([^/]+)/?$ /search.php?search=$1 [NC,L,QSA] 
+0

Ох это работает :), но сообщения пропущены, вы можете добавить в свой код, а также, пожалуйста, спасибо: P – luckr

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