1

すべてのリクエストをdomain.comからサブフォルダー/subにリダイレクトしたいのですが、そのサブフォルダーを url に表示したくないので、私の URL はdomain.comのままです。

これはまったく可能ですか?

編集:すべての提案を試した後でも、domain.com/subいつでもURLが次のように表示されますdomain.com

これが私の現在のコードです

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?sub.domain.com$
RewriteRule ^(/)?$ en [L]


RewriteCond %{HTTP_HOST} ^(www.)?sub.domain.fr$
RewriteRule ^(/)?$ fr [L]

私のフォルダ構造は次のとおりです。

/ ->en ->fr

4

5 に答える 5

1

htaccessファイルでこれを試してください:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteCond %{REQUEST_URI} !^/?sub/
RewriteRule ^(.*)$ /sub/$1 [L,QSA]

編集 :

投稿されたコードをクリーニングするには、次のようにする必要があります。

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?sub\.domain\.com$
RewriteRule ^$ /en/ [L]

RewriteCond %{HTTP_HOST} ^(www\.)?sub\.domain\.fr$
RewriteRule ^$ /fr/ [L]
于 2012-08-22T10:42:34.663 に答える
1

これをドキュメント ルートの htaccess ファイルに追加してみてください。

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/sub%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/sub%{REQUEST_URI} -d
RewriteRule ^(.*)$ /sub/$1 [L]

これにより、404 応答に存在しないものをリクエストしても、/sub/すべてを にルーティングしていることは明らかになりません/sub/

于 2012-08-22T10:33:33.517 に答える
0
RewriteCond %{REQUEST_URI}  !^/sub/.*$   [NC]
RewriteRule  ^(?<!sub/)(.*)$   /sub/$2   [L,NC]
于 2012-08-22T10:34:17.650 に答える
0

書き換えルールはサーバー側で機能します (URL には影響しません)。
mod_rewrite についてよく読んで、自分で試してみてください。

于 2012-08-22T10:32:39.507 に答える
0

モード書き換えを使用すると、この行に沿って何かを行うことができます

RewriteEngine on
RewriteRule ^$ sub [L]

ここで詳細を読むことができます: http://www.blogstorm.co.uk/htaccess-mod_rewrite-ultimate-guide/

于 2012-08-22T10:32:41.127 に答える