2017-07-31 9 views
2

私は、WordPressまたはJoomlaと同じindex.phpにすべての着信要求をルーティングするPHP Webアプリケーションで作業しています。カスタム拡張機能でApacheリライトが動作しない

次のように、.htaccessを使用して機能を実装します。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

それはWAMPをサーバー[Windowsの]とIISに取り組んでいるが、私はUbuntuの16.04.02 [Apacheの2.4.18、php7.0.18、Googleクラウドエンジン]にアプリを移行するとき、それはいくつかの作動が停止しますカスタム拡張ファイル。それはまだ通常のPHPファイルを考えて働いています。

Webサービスのphpファイルを置くためのserviceという名前のフォルダを作成し、そのファイルの名前を****。svc.phpとし、****。svc urlで使用しました。以前はうまくいきましたが、Ubuntuではなく、次のエラーが表示されました。

Not Found 

The requested URL /service/retrieve_opened_rs.svc was not found on this server. 

Apache/2.4.18 (Ubuntu) Server at ******* Port 80 

これは設定上の問題だと思いますが、3日後に修正する方法はまだ分かりません。私を助けてください。前もって感謝します。

答えて

3

おそらくMultiviewsオプションが有効になっている可能性があります。

Options -Multiviews 

あなたが微調整する必要がある場合があります。これは特に.svc.phpのような「ダブル」の拡張子

があなたの.htaccessファイルの先頭にこれを追加し、それはそれの世話をする必要があると、うまく書き換えルールと一緒に振る舞うことはありませんあなたのAllowOverrideディレクティブ(メインのApache confから)Options.htaccessファイルから変更する権利がない場合。

+0

それは魅力的です。ありがとうございました!!! –

関連する問題