2012-03-02 18 views
1

私はこのように構成され、いくつかのページを持っている:の.htaccessと301リダイレクト(動的ページ)

www.mysite.com/x/y.php?query=z私が書きましたこのようにページを書き換えている私の.htaccessファイル内のルール:

www.mysite.com/xy/z今

、私はこれらのURLを持ついくつかのSEOの問題を取得していますので、私は私の.htaccessをしたいと思います301へのファイルは、両方のURL(www.mysite.com/x/y.php?query=zおよびwww.mysite.com/xy/z)を次のようにリダイレクトします。

www.mysite.com/x-y/z.html

私はこれを行うことができますか?あなたの.htaccessルールを投稿しています:

AuthType Basic 
RewriteEngine on 
RewriteRule ([^/]+)-([^/]+)/([^/]+) $1/$2.php?titolo=$3 [L] 

ありがとうございます!イタリア

から

挨拶


EDIT

こんにちは、私は私のウェブサイトの一部のページをリダイレクト301に私が必要私の最初の記事で書いたように。次のように書かれている

www.mysite.com/dir/subdir/page.php?titolo=foo

(私は前に掲載のコードを使用しています):私はこのような例のためのいくつかのページを持っています:

www.mysite.com/dir/subdir-page/foo

今、私は301にしたいがwww.mysite.com/dir/subdir/page.php?titolo=fooとwww.mysiteの両方をリダイレクト.com/dir/subdir-page/foo to this:

www.mysite.com/dir/subdir-page/foo.html

私はhtaccessを "dir"フォルダに入れました。しかし、あなたが私に与えたコードはうまくいきませんでした。申し訳ありません。私はhtaccessに新しいので、私はあなたの助けを非常にうれしく思います。

事前のおかげで、イタリア

からよろしく
+0

私は「私は、これは私を行うことができます」私は...「どのように私はこれを行うことができます」意味書きました: - ) –

答えて

1

使用このコード:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase /dir 

## External 301 redirects 
# /dir/subdir-page/foo to /dir/subdir-page/foo.html 
RewriteCond %{QUERY_STRING} ^$ 
RewriteCond %{REQUEST_URI} !\.html$ [NC] 
RewriteRule^%{REQUEST_URI}.html [R=302,L] 

# /dir/subdir/page.php?titolo=foo to /dir/subdir-page/foo.html 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+[^/]+/([^/]+)/([^.]+)\.php\?titolo=([^\s]+)\s [NC] 
RewriteRule^%1-%2/%3.html? [R=302,L,NC] 

## Internal redirect 
# /dir/subdir-page/foo.html to /dir/subdir/page.php?titolo=foo 
RewriteRule ^([^-]+)-([^/]+)/([^.]+)\.html$ $1/$2.php?titolo=$3 [NC,L,QSA] 
+0

ありがとうanubhavaしかし、このコードは私のウェブサイトで動作していません –

+0

Plsはあなたが試したURLのようにいくつかの詳細を提供します。そして、あなたが持っているエラーなど – anubhava

+0

こんにちは、私は私の最初の投稿に書いたように、301私のウェブサイトでいくつかのページをリダイレクトする必要があります。 WWW:今、この(私は私が前に掲示コードを使用しています)のように書かれている www.mysite.com/dir/subdir/page.php?titolo=foo :私はこのような例のためのいくつかのページを持っています.mysite.com/dir/subdir-page/foo ここでは、www.mysite.com/dir/subdir/page.php?titolo=fooとwww.mysite.com/dir/subdir-pageの両方を301にリダイレクトします/ fooから: www.mysite.com/dir/subdir-page/foo。html 私はhtaccessを "dir"フォルダに入れました。しかし、あなたが私に与えたコードはうまくいきませんでした。すみません...あなたの助けに感謝します。ありがとう –

関連する問題