1

.htaccess 書き換えモードが URL の ~ 記号で機能しないということですか?

シナリオは、サーバー内のいくつかのフォルダーで .htaccess 書き換えを使用し、正常に動作することです。しかし、~ 記号では機能していないようで、404 エラー メッセージが表示されます。すなわち。~ 記号は、サーバーを指す FTP アカウントのユーザー名で使用されます。

実際の .htaccess コード:

RewriteEngine On

RewriteRule ^pages/(.*)$ pages.php?slug=$1
RewriteRule ^pages/(.*).html/$ pages.php?slug=$1

これはURLでうまく機能します

www.abcdxyz.com/something/pages/index.html

しかし、問題は逆です

www.server.com/~ftpaccount/pages/index.html

ここでは、アカウントがドメイン名を指していないため、〜記号を使用してサーバーからファイルを表示しました。そして、私はLinuxサーバーを使用しています。

PS 質問がはっきりしない場合はご容赦ください。

4

1 に答える 1

0

RewriteRule の例の最後で「B」フラグを使用してみてください。#1 ルールは次のようになります。

RewriteRule ^pages/(.*)$ pages.php?slug=$1 [B]

変換を適用する前に英数字以外の文字をエスケープする

于 2012-08-14T15:45:08.877 に答える