0

私の問題は簡単に言えば...

これは機能します: RewriteRule ^foo http://google.com

しかし、これはしません: RewriteRule ^routing/? routing.php [L]

ルーティングという名前のディレクトリまたはファイル名はありません。詳細については、この質問を参照してください: .htaccess URL ルーティング サブディレクトリ

その質問をして以来、.htaccess システムに関する私の理解は大幅に深まりました。私は今それを理解しています。その1行を変更すると、fooが使用されているときにGoogleにリダイレクトされ、404エラーがレンダリングされるだけで、ルーティングが使用されます。また、routing.php が存在し、機能していると確信しています。

これが機能しない理由について何か提案はありますか?

4

2 に答える 2

1

あなたがMultiviewsオンにしたからだと思います。試す:

Options -Multiviews

htaccess ファイルの一番上にあります。

于 2012-10-02T23:57:39.927 に答える
1

疑問符なしで試しましたか?ドキュメントを見てみると、疑問符をまったく使用するべきではないと思います: http://httpd.apache.org/docs/current/mod/mod_rewrite.html 代わりに $ を試してください。

于 2012-10-02T23:35:00.337 に答える