2016-03-31 30 views
1

Bazı durumlarda htaccess'in çift 301 yönlendirmesi ürettiğini fark ettim. 301 http://www.example.com/new_url içinÇift 301 yönlendirmeyi htacess'imden silinsin mi?

İşte (yeni url olarak değiştirildi): Örneğin, o olacak http://example.com/old_url erişmeye çalışırsanız kurulum:

RewriteEngine On 

# Add www 
RewriteCond %{HTTP_HOST} ^example.com [nocase] 
RewriteRule ^(.*) http://www.example.com/$1 [last,redirect=301] 

# Do some url rewriting 
RewriteRule ^new_url_1$ new_url_1.php [NC,L] 
RewriteRule ^new_url_2$ new_url_2.php [NC,L] 

# Do the 301 redirections 
Redirect 301 /old_url_1 http://www.example.com/new_url_1 
Redirect 301 /old_url_2 http://www.example.com/new_url_2 

Daha iyi bir SEO için sadece bir 301'e sahip olmak için bunu nasıl düzeltebilirim? Teşekkürler!

cevap

0

mod_rewrite kurallara Redirect direktifleri karıştırın ve www kuralı önce belirli yönlendirme kuralları tutmayın:

RewriteEngine On 

## Unless directory, remove trailing slash 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)/$ /$1 [NE,R=302,L] 

# Do specific 301 redirections 
RewriteRule ^old_url_1$ http://www.example.com/new_url_1 [L,NC,R=301] 
RewriteRule ^old_url_2$ http://www.example.com/new_url_2 [L,NC,R=301] 

# Add www 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=301] 

# Do some url rewriting 
RewriteRule ^new_url_1$ new_url_1.php [NC,L] 

RewriteRule ^new_url_2$ new_url_2.php [NC,L] 

testten önce tarayıcınızın önbelleğini temizleyin emin olun.

+0

Teşekkürler, bunu deneyeceğim. Redirect 301/old_url_1 http: // www.example.com/new_url_1' ve 'RewriteRule^old_url_1 /? $ Http://www.example.com/new_url_1 [L, NC, R = 301]' arasındaki fark nedir? ? –

+1

'RewriteRule 'mod_rewrite direktifidir ve' Redirect' 'mod_alias'dan gelmektedir. Farklı modüller farklı zamanlarda yürütülür ve bunların karıştırılması sorunlara neden olabilir. – anubhava

+0

Ve ikisi arasındaki belirli farklılıklar ne olacak? Sen ekledin "/?" Url ve ayrıca "L, NC" seçenekleri olarak. Bu bir şeyi değiştirir mi? –