2011-07-12 7 views
4

RewriteBaseをローカルまたはライブサーバーに変更する場合は、この.htaccessを使用しています。HTAccess LocationMatchサーバーエラー

Options +FollowSymlinks 
RewriteEngine on 

<LocationMatch "^/(bbtsrv02)/$"> 
    #RewriteBase /beta/admin/ 
</LocationMatch> 

RewriteCond %{REQUEST_URI} !index.php$ 
RewriteCond %{REQUEST_URI} !css/(.*)\. 
RewriteCond %{REQUEST_URI} !img/(.*)\. 
RewriteCond %{REQUEST_URI} !incs/(.*)\. 
RewriteCond %{REQUEST_URI} !js/(.*)\. 
RewriteCond %{REQUEST_URI} !upload/(.*)\. 
RewriteCond %{REQUEST_URI} !widget/(.*)\. 
RewriteRule ^(.*) index.php?_pd=$1 [NC,L] 

LocationMatchを削除すると、すべてが再び機能し始めます。私はライブテストのためにRewriteBaseを変更するだけです。

答えて

7

<LocationMatch>指示文.htaccessファイルで使用することはできません。サーバー設定または仮想ホストコンテキストでのみ使用できます。

http://httpd.apache.org/docs/current/mod/core.html#locationmatch

+0

Durrr。あなたは私もこれを読んで、それについて精神的な注意を払うように言いました。もう一度指摘してくれてありがとう! – James

+0

@Jamesローカルサーバーにはどのようにアクセスしますか?私はサブフォルダを介して推測する。もしそうなら、ドメイン名( 'http:// mysite.dev /'など)を使ってDNS名を(ホストファイルを使って)偽装したりアクセスしたりしないでください。URL構造はライブサーバーと同じですか? – LazyOne

+0

私たちはすべてローカルサーバーマシンで開発します。私は 'hosts'ファイルを設定することを考えましたが、私たちが実際にライブしたいときは苦痛です。 – James

関連する問題