2012-01-23 15 views
0

私は、Symfony 1.4プロジェクトのドメインを書き直しています。正しくdomain.org/api.php/methodに行くサブドメインをファイルに書き換えてから.htaccess認証を削除する

私の.htaccess

AuthUserFile /var/www/.htpasswd 
AuthType Basic 
AuthName "GH Auth" 

<Files "*"> 
    require valid-user 
</Files> 

<Files "api.php"> 
    Allow from all 
    Satisfy any 
</Files> 

<Files "apc.php"> 
    require user admin 
</Files> 

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    # uncomment the following line, if you are having trouble 
    # getting no_script_name to work 
    RewriteBase/

RewriteCond %{HTTP_HOST} ^api\.domain\.org$ 
RewriteRule ^(.*)$ api.php [QSA,L] 

# we skip all files with .something 
RewriteCond %{REQUEST_URI} \.(css|js|png|gif|jpg)$ 
RewriteRule .* - [L] 

# we check if the .html version is here (caching) 
RewriteRule ^$ index.html [QSA] 
RewriteRule ^([^.]+)$ $1.html [QSA] 
RewriteCond %{REQUEST_FILENAME} !-f 

# no, so we redirect to our front web controller 
RewriteRule ^(.*)$ index.php [QSA,L] 

</IfModule> 

は、認証なしで続行することができます。

しかし、api.domain.org/methodに行くとフラグが見えないように見えますが、依然として認証が求められます。

アイデア?たぶん、2つの別々の仮想ホストを作る時でしょうか?

+0

書き換えルールで 'PT'フラグを使ってみましたか? 'L 'と組み合わされた" Pass Through "は、apacheに結果のURIをマッピングエンジンを通して返すよう指示します。 –

答えて

0

し、ファイルを追加し、あなたのモジュールフォルダ(アクション&テンプレートフォルダと並行)の内側(1が存在しない場合)、その後configという名前のフォルダを追加し、あなたはアクションがフォルダを参照し、テンプレートフォルダなければならない、apps/api/[your_module]に行くようにしてくださいconfigフォルダ内にsecurity.ymlという名前が付けられています。

、あなただけのモジュールの認証プロセスを削除するので、あなたはconfigフォルダを編集したのsecurity.ymlファイルはモジュールフォルダ内にある必要があり、覚え

のsecurity.yml

all: 
    is_secure: false 
で、この次のコードを追加します。アプリケーションフォルダにはありません。また、アプリケーションフォルダ内にconfigフォルダもあります。

+0

申し訳ありませんが、これはSymfony認証に関するものではありません。それはHTTP基本認証です。私のコードサンプルをもう一度読んでください... –

関連する問題