2

これにしばらくお待ちください。一言で言えば、ほとんど私が必要なものを覆い質問と回答を見つけました、しかしかなり...404を外部ドメインにリダイレクトして、.htaccessを使用してURIを保持する

:のみ .htaccessを使用して、彼らは404を受信したときに、外部のドメインにユーザーをリダイレクトしようとするとURIを保持し、

考慮事項:

  • Apacheは、サーバー上のファイルを知りませんが、それはCMSから動的にそれらを要求します。
  • 要求されたURI mayにはファンキーな文字が含まれています。 ";" "="
  • サーバー側のスクリプト(PHPなど)を避ける必要があります。

必要な行動:

  • ユーザーは
  • Serverが404
  • ユーザーが透過的にURI

を維持し、外部のドメインにリダイレクトされるで応答URLを要求例1:

  • ユーザーの要求:www.newdomain.com/no/Page

例2:www.example.com/no/Page

  • Serverが404
  • ユーザーで応答がにリダイレクトされ

    • ユーザーの要求:
    • www.example.com/url;=xyz Serverが404
    • ユーザーで応答redireですCTED:
  • www.newdomain.com/url;=xyzこれを実現することができるのみ .htaccessを持ちますか?

    の線に沿って何かしよう:これは主に動作しますが、唯一のハードコードされたクエリ文字列を使用して...それは、動的に含まれ得ることができない

    RewriteEngine On 
    
    ErrorDocument 404 /404.html?u=/the/Requested/URI 
    
    RewriteCond %{REQUEST_URI} ^/404.html [NC] 
    RewriteCond %{QUERY_STRING} ^u=(.*) 
    RewriteRule (.*) http://www.newdomain.com%1? [NC,NE,L,R=301,E=nocache:1] 
    

    を。

    これを達成するためのアイデア(もしあれば)?

    答えて

    1

    ErrorDocumentで行うことができます。

    ErrorDocument 404 http://www.newdomain.com%{REQUEST_URI} 
    

    残念ながら、これは、Apache 2.4から> = 2.4.13

    でのみ動作します。図13に示すように、動的シンボリックおよびURLを生成するために、ディレクティブ内で式構文を使用できます。

    関連する問題