0

ドメインを持っていますhttp://www.mydomain.com。私のルートフォルダー構造はこのようなものです。

  • -ワードプレス

すべてのリクエストを wordpress フォルダーにリダイレクトしたい。私はグーグルでファイルを次のように書きました

RewriteEngine on
rewritecond %{http_host} http://mydomain.com/ [nc]
rewriterule (.*)$ http://mydomain.com/wordpress [r=301,nc] 

現在、404 File not found エラーが発生しています。別の手法を使用してインデックス ファイルを作成し、これはうまく機能しますheader('location:/wordpress1)が、Wordpress でテーマをアップロードするたびに 500 内部サーバー エラーが発生します。 彼らはこのファイルを使用する可能性があるため

4

3 に答える 3

1

RewriteCond $ 0!^ wordpress /RewriteRule^。*$wordpress /$0これはこれを行うための最良の方法です。

于 2012-08-26T20:37:38.880 に答える
1

HTTP_HOST 変数には、クライアントが HTTP 要求を発行するサーバー名が含まれています。あなたの場合、mydomain.com. 現在の条件が一致することはありません。ホストの書き換えとサブディレクトリへのリダイレクトは別の問題です。

RewriteEngine on
RewriteBase   /

# This will redirect mydomain.com URIs to www.mydomain.com
RewriteCond  %{HTTP_HOST}  ^mydomain\.com$             [NC]
RewriteRule  ^.*$          http://www.mydomain.com/$0  [R=301,L] 

# This will do an INTERNAL redirect to the wordpress folder
RewriteCond  $0            !^wordpress/
RewriteRule  ^.*$          wordpress/$0

2 番目のルールの条件は、内部リダイレクト ループを防ぐことです。$0 は「一致文字列全体」に設定されます。

インデックス ファイルと場所も削​​除します。これは無効な構文であり、初心者にとってあらゆる種類の副作用があります。

于 2012-06-29T10:33:10.683 に答える
1

試す

 RewriteEngine on
 RewriteCond $1 !^(index\.php|wordpress/wp_content)
 RewriteRule ^(.*)$ /wordpress/index.php/$1 [L]

2 行目は例外です。html に含める必要があるフォルダーを含めるために、さらに追加する必要がある場合があります。

于 2012-06-29T14:14:39.917 に答える