0

これらの内容を含む.htaccessファイルがあります。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([^/\.]+)$ index.php?string=$1&match=all [L]

したがって、次のように入力すると、domain.com/testページはdomain.com/index.php?string=test&match=allにリダイレクトされます

しかし、このページにアクセスしたい場合:domain.com/test#sub1

ページはdomain.com/index.php?string=test&match=allにリダイレクトさます

domain.com/index.php?string= test#sub1&match=allの代わりに

どうすれば続行できますか?

4

1 に答える 1

1

アンカー/ハッシュはブラウザでのみ使用されます。そのような要求は無効になるため、サーバーはそれらの要求を認識しません。(「test#sub1」ファイルはなく、「test」ファイルのみです。)アンカーにアクセスしたいだけで、存在しないファイルにアクセスしようとしていないことを知る方法がないため、このような情報Webサーバーに渡されません。

編集:また、単一のphpファイルを介してすべてをリダイレクトすることは、私には不正行為のように思えます。たぶん、ここで何か特別なことが起こっているので、評判の良いアプローチになっています。

于 2012-11-19T03:05:47.447 に答える