2011-10-18 10 views
0

こんにちは私はwww以外のページをwwwにリダイレクトする際にいくつか問題があります。私のcakephpサイトのページ。www以外のすべてをwwwにリダイレクトします。 Cakephpサイトのため

私は

Options +FollowSymlinks 
RewriteEngine on 
rewritecond %{http_host} ^domain.com [nc] 
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc] 

を試みたが、動作するようには思えません。

私のcakephpアプリはサブフォルダにあります。例えば。 www.domain.com/my

私は、ルートフォルダにwww.domain.com/

任意の提案を上記のコードを追加しましたか?ありがとう?

*更新

この私の.htaccessファイル

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
</IfModule> 

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC] 
RewriteRule ^.*$ http://www.domain.com%{REQUEST_URI} [R=301,L] 

私は、URLに挿入された余分なwebroot/index.php?url=を取得しています。 www.domain.com/my/appleの代わりに、私はwww.domain.com/my/webroot/index.php?url=apple

すべてのおかげでもう一度ありがとう。

答えて

5

コードが正しくありません。下記参照。

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC] 
RewriteRule ^.*$ http://www.domain.com%{REQUEST_URI} [R=301,L] # <-- Mind the 'L'! 

RewriteRule ^$ webroot/ [L] 
RewriteRule (.*) webroot/$1 [L] 
+0

おかげ上にある場合は!しかし、まだ問題があります。 URLはリダイレクトされていますが、URLに「webroot/index.php?url =」が追加されています。 www.domain.com/my/appleの代わりに、私はwww.domain.com/my/webroot/index.php?url=apple – mobz

+0

を取得しています。 "RewriteRule ^(。*)$ indexファイルの.htacessの.php?url = $ 1 [QSA、L] "ページにエラーが表示されるため、その行を削除できません。 – mobz

+0

ちょうどデフォルトのケーキのルールを入れて(結果を表示するために私の答えを更新しました) – wrdevos

2

ドメインは.co.uk

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^domain\.co\.uk$ [NC] 
    RewriteRule ^.*$ http://www.domain.co.uk%{REQUEST_URI} [R=301,L] 

    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 
0

RewriteEngine

RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ app/webroot/$1 [QSA,L] 

関連する問題