2016-09-08 13 views
2

私がやっていることは、ドメインを越えた任意のパス名を取得し、それをサイトのルートにリダイレクトすることです。ドメインにリダイレクトしてURLを保持する方法

私は、しかし、私は以来、それを失ってしまったなど台無しにCSSを、画像、だろうhttp://example.com/something/(trailingslash)、私はURLをリダイレクトし、維持するためにhttp://example.com/somethingを得ることができる点にあった...

どこ私は今でhttp://example.com/後に何かがすべてのヘルプは高く評価され、私に404

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} ^(.*)$ [NC] 
RewriteRule ^(.*) %1 [L,R=302] 

を与えるということですね。

編集:

明確にする。私は、次のようなURL構造を介してサイトにトラフィックを送ります: http://example.com/something しかし、これらのディレクトリには何もありません。私は404を望んでいないが、代わりにルートレベルにあるコンテンツを表示したい。私はまだユーザーが彼らがタイプしたURLを見ることを望みます。私はそのURLを後でjavascriptで解析するでしょう。

+1

あなたがしようとしていることは明確ではありません。 – anubhava

+0

投稿を更新しました。希望が役立ちます。探してくれてありがとう。 – gin93r

+0

トップレベルはどういう意味ですか?例を与える – hjpotter92

答えて

1

あなたはあなたのサイトのルートの.htaccessにこのルールを試すことができます。

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ./[L] 

すべての相対URLがそのベースURLから解決されるように、あなたはまた、ちょうどあなたのページのHTMLの<head>セクションの下に<base href="/" />を追加する必要があります現在のページのURLからではありません。

+0

ありがとう、これを確認します。これはユーザーが入力したアドレスバーにもURLを保持しますか? – gin93r

+1

はい、アドレスバーに同じURLが表示されます。 – anubhava

+1

ありがとう:)スタイルシートのURLを更新してスラッシュを付ける必要がありますが、そうでなければ動作します。ありがとうございました。 – gin93r

関連する問題