1

php -S localhost:8000開発サーバーとして使用しています。最後にnginxを使用します。しかし、私はphpサーバーに問題があります。

root
|
|---/app
    |
    |---/index.html
    |---/scripts
    |   |
    |   |---/main.css
    |
    |---/styles
        |
        |---/main.js

app/index.htmlは持っています:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" href="styles/main.css" type="text/css" />
</head>
<body>

  <script src="scripts/main.js"></script>
</body>
</html>

cssとjavascriptを使用してブラウザでページを開くと、localhost:8000/app見つかりません。localhost:8000/stylesブラウザはrespを探しています。resplocalhost:8000/scriptsの代わりに。. サーバーなしで、またはnginxでファイルを直接開くと、ファイルが正しく見つかります。したがって、phpサーバーは何かを変更します。何が起きてる?localhost:8000/app/styleslocalhost:8000/app/scripts

Chrome と Firefox で試してみました。両方のブラウザで同じ動作。localhost/app( )で Web サイトを開くと、nginxすべてが期待どおりに機能します。localhost:8000/app( )で Web サイトを開くとphp -S localhost:8000、スクリプトとスタイルが見つかりません。同じファイルルートを持つ同じファイルです。異なる動作はどこから来るのですか?

4

2 に答える 2

2

PHP: Built-in web serverの公式ドキュメントを確認した後、次のように明確に記載されています。

-t オプションを使用して明示的なドキュメント ルートを指定しない限り、URI 要求は、PHP が開始された現在の作業ディレクトリから提供されます。

于 2016-07-03T15:26:23.100 に答える