2

www.somedomain.com/subfolder/index.php?p=page3実際の URL が表示されている間、URL をマスクしようとしていますwww.somedomain.com/subfolder/page3。このような質問がここで多く寄せられていることは知っていますが、多くの検索を行いましたが、ほとんどの結果は私が探しているものに対応していませんでした。 htaccess の微調整に関する基本的なことしか知りません。

検索したときに得た結果の1つに、次のhtaccessコードがあります。

オプション +FollowSymLinks
オプション +インデックス
RewriteEngine On
RewriteRule ^index.php$ %{QUERY_STRING} [C]
RewriteRule p=(.*) www.somedomain.com/subfolder/$1? [R=301,L]

URL の書き換えに関するトリックは行いましたが、URL をマスクするだけでなくページをリダイレクトし、R=301 を削除しても機能しなかった 404 エラーが発生します。

また、上記のコードでは、サブフォルダーのインデックス ページを起動すると 500 サーバー エラーが発生しますwww.somedomain.com/subfolder/

最後に、Web 上で見つけた一部のコードがまったく機能しないか、500 サーバー エラーが発生するため、違いが生じる場合に備えて、localhost のサブディレクトリでテストしていることに言及したいと思います。

よろしくお願いします。

4

1 に答える 1

3

これを試すことができます:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
# Prevent loops
RewriteCond %{REQUEST_URI} !index\.php         [NC]
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)/? [NC]
RewriteRule .*  %1/index.php?page=%2           [L]

サイレント マップ:

http://www.somedomain.com/anyfolder/val末尾のスラッシュの有無にかかわらず。

上記は、入力してブラウザのアドレス バーに表示される URL です。

に:

http://www.somedomain.com/anyfolder/index.php?p=val

文字列anyfolderであり、val動的であると見なされます。

永続的なリダイレクトの場合は、 に置き換え[L]ます[R=301,L]

于 2013-02-18T04:33:45.983 に答える