2012-02-27 12 views
0

私のphpサイトでwww以外のwwwをwwwにリダイレクトしようとしていて、.phpページにリンクすることなくURLをきれいに保ちます。htaccessのリダイレクトが動作しないphpページ

wwwからwwwへのリダイレクトを推奨すると、ページリンクは適切なページに移動しなくなります。例:私はpage1.phpを持っており、domain.com/page1(.phpなし)にリンクするとそのページはもはや読み込まれません。これをどうすれば解決できますか?すべてのリンクを変更し、リンクが機能するためにページ拡張(.php)を追加する必要がありますか?私が使用している

htaccessファイル:

RewriteEngineを

#This bit rewrites your host name to include www 
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC,L] 

#This bit does the codeigniter magic 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php/$1 [L] 
+0

あなたは '/ page1'のルートを設定していますか、' page1.php'ファイルは物理的に存在しませんか? – prodigitalson

+0

私のすべてのページはpage.php形式です。しかし、リンクは/ page/page1/page2などです... –

+0

CodeIgniterを使っていますか?一般的に言えば、あなたはサイトにドロップすると、あなたが望むようにURLを動作させるいくつかの魔法があります。これらのページをコントローラとビューに変換し、適切にルートを設定する必要があります。もしあなたがこれをしてしまったら、あなたのルーティングに関するいくつかの特質を与えて、 '.htaccess'ディレクティブが十分に動かないようにすることができます。 – prodigitalson

答えて

0

では、私は答えを見つけました!

RewriteEngine On 
RewriteBase/
#Rewrite bare to www 
RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php [NC,L] 
関連する問題