共有ホスティングで簡単な PHP スクリプトを作成し、.htaccess ファイルにいくつかのルールを実装して、スクリプトが呼び出すたびに、たとえばhttp://www.google.com/test1がhttp:/を取得するようにしたいと考えています。 /www.otherwebsite.com/test1代わりに。
以前に標準の URL 書き換えルールを使用したことがありますが、この特定の機能は必要ありませんでした。
ありがとうございました !
共有ホスティングで簡単な PHP スクリプトを作成し、.htaccess ファイルにいくつかのルールを実装して、スクリプトが呼び出すたびに、たとえばhttp://www.google.com/test1がhttp:/を取得するようにしたいと考えています。 /www.otherwebsite.com/test1代わりに。
以前に標準の URL 書き換えルールを使用したことがありますが、この特定の機能は必要ありませんでした。
ありがとうございました !
.htaccess
は、Web サーバーに解決されるドメイン名を持つ着信 URLのみを書き換えることができます。これらのリクエストは送信 Web サーバー (この例では google.com) に直接送信されるため、送信 URL を制御することはできません。
おそらく必要なのは、すべての外部リンクonclick
のイベントにフックすることで、ユーザーを希望どおりにリダイレクトするスクリプト ソリューションです。ここではjQueryを使用した簡単な概念実証を示しますが、これは標準の JavaScript を使用して行うこともできます。
<html>
<head>
<title>jQuery global redirector</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
</head>
<body>
<a href="http://google.com/search?q=jquery">google url would redirect</a><br />
<a href="http://mysite.com/somepage.php">mysite.com url won't redirect</a>
<script>
<!--
$(function() {
$("a").click(function(e) {
var url = e.target.href;
if(!(url.startsWith("mysite.com") ||
url.startsWith("http://mysite.com"))) {
var path = $( '<a />', {href : url} ).prop( 'pathname' );
window.location.href = "http://otherwebsite.com" + path;
e.preventDefault();
}
});
});
//-->
</script>
</body>
</html>
おそらく、スクリプトを別のファイル (たとえばredirect.js
) 内に配置し、そのようなリダイレクトが必要なページにこのスクリプトを選択的に含める必要があります。また、 jQueryもインポートすることを忘れないでください。
私があなたの質問を正しく理解した場合、あなたはすべての URL を他のドメインにリダイレクトしたいと考えています。
mod_rewrite と .htaccess を有効にしてからhttpd.conf
、このコードをディレクトリの.htaccess
下に配置します。DOCUMENT_ROOT
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?yourwebsite\.com$ [NC]
RewriteRule ^ http://www.otherwebsite.com%{REQUEST_URI} [R=301,L]