0

URL を開いたときにhttp://mysite.com/base1/folder/、 の内容を表示したいhttp://mysite.com/base2/folder.html。フォルダ内に index.html ファイルがありますfolder

わかりやすくするために、html ファイルfolder.htmlはフォルダにありますbase2

.htaccess ファイルが期待どおりに機能しない

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/base1/([^/]+)/(.+)$ /base2/$1.html [L]

私の .htaccess ファイルが間違っていることを教えてください。

ありがとう!

4

1 に答える 1

1

あなたの正規表現は間違っているようです:

^/base1/([^/]+)/(.+)$
                 ^^^ requires one or more characters

これはうまくいくはずです( /folder/に続くものを受け入れるため)

^/base1/([^/]+)/

またはこれ (/folder/ のみを受け入れる場合)

^/base1/([^/]+)/$

さらに、私はRewriteCondあなたのルールとして 2 つを削除します。(ただし、/base1/ が存在しなくても問題はありません)

于 2012-11-11T19:04:52.327 に答える