0

だから私はとでかなりひどいです、RewriteRuleそして.htaccess私はindex.phpを通してディレクトリにまだ存在していないリクエストをリダイレクトすることを可能にするRewriteRuleを作成しようとしています。

現時点では次のようになっています。

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?name=$0 [L]

ただし、リダイレクトされたURLからajaxリクエストを実行しようとすると、ディレクトリにあるスクリプトの戻りデータではなく、リダイレクトされたページ全体が壊れて返されます。私はこれをどのように機能させることができるかについてかなり混乱しています。\

私ができるようにしたいのは、index.phpを介してすべての非現実的なリクエストと、他のすべてのリクエストを通常どおりにルーティングできるようにすることです。

4

2 に答える 2

1

通常のリクエストRewriteCondで1つ(または複数)を見つけることができる場合は、RegExを使用して別のものに忍び込むことができます。何かのようなもの

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !^*your* *RegEx* *for* *normal* *request*
RewriteRule ^(.*)$ index.php?name=$0 [L]
于 2012-08-04T16:16:42.953 に答える
1

htaccessコードは正しいです。「-f」は有効なファイルをチェックし、「-d」は有効なディレクトリをチェックします。

私の推測では、内部でindex.php?name = / some-dir /another-path/に書き換えられた/some-dir/another-path/のようなURLから相対的なajaxリクエストを発行していると思います。つまり、my-ajax-data.phpへの相対的なajaxリクエストは、/ my-ajax- data.phpではなく、/ some-dir / another-path/my-ajax- data.phpに対して行われます。ajaxリクエストで絶対URLを使用してみてください。まあ、それは暗闇の中でのショットです。

于 2012-08-04T22:23:58.113 に答える