2011-12-15 19 views
0

私が作業しているサイトのサブディレクトリに.htaccessファイルがあります。 URLがwwwで始まったときに私が望むように動作しますが、wwwが見つからない場合は動作しません。.htaccess mod_rewriteはwwwと一緒にしか動作しません

RewriteEngine On 
RewriteBase /media 
RewriteRule ^([a-zA-Z0-9_\s\-]+)/?$ index.php?a=$1 [L] 
RewriteRule ^([a-zA-Z0-9_\s\-]+)/([a-zA-Z0-9_\s\-]+)$ index.php?a=$1&b=$2 [L] 

私はhttp://www.mysite.com/media/testを要求した場合、それは動作しますが、http://mysite.com/media/testません。私は何が欠けていますか?

+0

ここに何か他のものがあるはずです。 www.mysite.comとmysite.comの両方がApache設定の同じディレクトリにマップされていますか? – AndrewR

答えて

1

が、これはおそらくあなたのDNSが設定されている方法とは何かを持っていることを試してみてください。

「www」の有無にかかわらず、両方のドメインにpingを実行してください。

は、ここで私は何をすべきかです:WWWの有無にかかわらずすべてが同じPCにリダイレクトされるように、私は私のDNSを設定します。

DNS configuration

それから私はバーチャルホストの設定によって、すべてを扱う:

<VirtualHost *> 

    ServerAdmin [email protected] 
    DocumentRoot "/web/htdocs/olivier/livrepizzas/dev/website" 

    ServerName livrepizzas.fr 
    ServerAlias *.livrepizzas.fr 
    ... 
    ... 
    ... 
</VirtualHost> 
0
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www.website.com [NC] 
RewriteRule ^(.*) http://website.com%{REQUEST_URI} [R=permanent,QSA,L] 

これはあなたの書き換えルールとは何の関係もありません

関連する問題