-1

以下のように .htaccess を使用してリダイレクトするのを手伝ってください。

http://info.domainname.com/blog/?Tag=somedynamictag

http://domainname.com/tag/somedynamictag

ありがとう!

4

1 に答える 1

0

まず第一に、 http: //info.domainname.com/blog/?Tag=somedynamictaghttp://domainname.com/tag/somedynamictagに書き換える目的が理解できません。人々は URL を書き換えてきれいにします (つまり?&=、 などの文字を削除します) が、これらすべてを追加して URL を扱いにくくしています。

URL 書き換えの概念を正しく理解していないと思います。少し説明させてください。

Web サイトで任意の URL にアクセスすると、ユーザーが入力またはクリックした URL (この場合はhttp://domainname.com/tag/somedynamictag ) が書き換えられます。しかし、あなたの質問は、あなたが別の考え方をしていることを教えてくれます。あなたの理解では、訪問者は http://info.domainname.com/blog/?Tag=somedynamictagをクリックし、 http://domainname.com/tag/somedynamictagに書き換えられます。これは間違っています!!。このようにウェブサイトを設定すると、http://domain.com/のすべての URL があなたが開発しているように見えるような動的なWebサイトが持つことが期待されていない別のファイルまたはディレクトリとして存在する必要があります. したがって、質問の形式が間違っているか、URL 書き換えの概念を誤解していることを理解していると思います。以下は、 http://domainname.com/tag/somedynamictaghttp://info.domainname.com/blog/?Tag=somedynamictagにリダイレクトする .htaccess コードです。

RewriteEngine On

RewriteCond %{HTTP_HOST} domainname.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9]+)\/(.*)$ http://info.domainname.com/blog/?$1=$2 [L,R=301]

質問を正しく入力し、URL 書き換えの権利を理解しており、やろうとしていることが正しいと確信している場合は、htaccess コードを次に示します ( http://info.domainname.com/blog/にリダイレクトする場合)。 ?Tag=somedynamictaghttp://domainname.com/tag/somedynamictagに変更)。

RewriteEngine On

RewriteCond %{HTTP_HOST} info.domainname.com
RewriteRule ^blog\/\?([A-Za-z0-9]+)=(.*)$ http://domainname.com/$1/$2 [L,R=301]

それでもうまくいかない場合は、http://info.domainname.com/blog/ の index.php にのコードを追加します。

<?php
header("HTTP/1.1 301 moved permanently");
header("Location:http://domainname.com/blog/tag/".$_GET['Tag']);
?>

そして、この質問をしていただきありがとうございます。それに答えながら、私は多くのことを学びました。

それがあなたの質問に答えることを願っています、

平和...

于 2012-04-07T10:08:17.093 に答える