301 CodeIgniter'daki yönlendirme

1 Cevap php

Bu bir sunucu sorunu veya ne ise tamam, bu yüzden söyleyemem. Ben şöyle bir htaccess dosyası var:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/main/index/$1 [L]
RewriteRule ^ajax/(.*)$ /index.php?/main/ajax/$1 [L]
RewriteRule ^backend.php/(.*)$ /backend.php?/$1 [L]

# 301 redirects
Redirect 301 /backup.php http://www.example.com/backup/
Redirect 301 /document.php http://www.example.com/document/
Redirect 301 /contact.php http://www.example.com/contact/
Redirect 301 /links.php http://www.example.com/links/
Redirect 301 /jobs.php http://www.example.com/jobs/

i have tek sorun benim 301 yönlendirmeleri ile. yerine

example.com / backup.php example.com / yedekleme / gidiş yerine example.com / yedekleme /? / main / index / backup.php gönderir.

Bu doğru rota sayfasını yapar. i uygun html olsun anlam döndü ama url çirkin. ben bu kod ateşleyici ve ben ilk argüman, vb yedekleme, belge, temas ettiği main controller's method index HERŞEYİ yönlendirme olduğumu yapmış olduğunu söylemek gerekir endeks yöntemi. Bu garip gelebilir - ve de hiç bir ilgisi olabilir - ama bu şekilde olması gerekir. Herkes yeniden yönlendirilen URL'ler temiz almak konusunda herhangi bir öneriniz var mı?

1 Cevap

Bu mod_alias ve mod_rewrite hem de kullanmak iyi bir fikir değil. Yerine Redirect direktiflerin bu mod_rewrite kuralı deneyin ve geçerli kuralların önüne koydu:

RewriteRule ^(backup|document|contact|links|jobs)\.php$ http://www.example.com/$1/ [L,R=301]