4

へのリクエストhttp://localhost/SAMPLE-CODES/backbone-mysql-reading-json/websites

次のようにリダイレクトされます。

> Request URL:http://localhost/SAMPLE-CODES/backbone-mysql-reading-json/websites
> Request Method:GET
> Status Code:301 Moved Permanently

応答ヘッダー:

> HTTP/1.1 301 Moved Permanently Date: Thu, 06 Sep 2012 14:32:41 GMT
> Server: Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4
> mod_perl/2.0.4 Perl/v5.10.1 Location:
> http://localhost/SAMPLE-CODES/backbone-mysql-reading-json/websites/
> Content-Length: 417 Keep-Alive: timeout=5, max=100 Connection:
> Keep-Alive Content-Type: text/html; charset=iso-8859-1

このリダイレクトの原因がわかりません。

私はフォルダに次の.htaccessを持っていますc:\xampp\htdocs\SAMPLE-CODES\backbone-mysql-reading-json\

.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
4

1 に答える 1

6

これはおそらく、mod_dirとリダイレクトを実行しているDirectorySlashディレクティブが原因です。これをオンにすると、apacheがURIを調べてディレクトリにアクセスしていると判断し、末尾のスラッシュが欠落している場合、301は末尾のスラッシュを使用してURIにリダイレクトします。オフにすると情報開示のセキュリティ問題が発生するため、デフォルトでは常にオンになっています。ただし、index.phpスクリプトを介してすべてをルーティングしている場合は、問題にならない可能性があり、htaccessファイルを追加するだけでオフにできDirectorySlash Offます(css、js、imagesなどのディレクトリにアクセスできるディレクトリではオンにできます)。 、など。

于 2012-09-06T16:18:18.860 に答える