0

私はいくつかのRewriteRulesを書いています、そして私の最も基本的な書き直しは404エラーを返します。これが私のコードです:

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule s/(.*)/(.*)/$ /page.php?s=$2 [NC,L]
RewriteRule ^submit/$ submit.php [R,L]

# Options All -Indexes

<files .htaccess>
order allow,deny
deny from all
</files>

RewriteRule ^ submit / $ submit.php [R、L]は私が問題を抱えているところです。domain.com/submit/にアクセスすると、サーバーは「要求されたURL /submit/がこのサーバーで見つかりませんでした」という404エラーを返します。サーバーが私のHTACCESSファイルを見ていなかったようです。他のRewriteRulesは完全に機能します。

私は何かが足りないのですか?

4

1 に答える 1

1

あなたはこれを試すことができます:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !page\.php    [NC]
RewriteRule ^s/(.*)/(.*)/$ /page.php?s=$2 [NC,L]

RewriteCond %{REQUEST_URI} !submit\.php  [NC]
RewriteRule ^submit   submit.php         [R,L,NC]

質問の情報によると、それだけです。

正規表現またはスクリプトの場所と一致するパターンを決定するためのURLの例がないため、最初のルールが何であるかを推測できません。

スクリプト(submit.php)がどこにあるかを確認する方法がないため、2番目のルールでも同様のことが起こります。これも、質問にURLの例がないためです。

于 2013-02-28T06:42:12.457 に答える