2017-01-11 17 views
0

URLを書き換えてリダイレクトするときに問題が発生しています。ダイナミックURLを静的なSEOフレンドリーなURLにリダイレクトして書き直す

は現在、私はこのURLを持っている:これは私が何をしようとしていますものですdomain.com/server.php?id=$1

私はURLがその上に書き換えることを持っている:domain.com/details/$1

あなたがに行くとき、私が午前問題は次のとおりです。domain.com/server.php?id=$1それは私のSEOフレンドリーなURLにリダイレクトされません。

誰でも知っていますか?

このURLの私の現在の書き換えさ: RewriteRule ^details/(.*)/ server?id=$1 [L]

+0

は 'AllowOverrideのNONE'を探し、' virtualhost.conf'と 'httpd.conf'を確認してください。それが見えたら、 'AllowOverride All'に変更してください。 – mopsyd

+0

リライト!=リダイレクト –

+0

私はリライトがリダイレクトと同じではないことを知っています。正しいリダイレクトコードを取得できません。 – Luz1fer

答えて

0

これは私が私のために働くことが分かっ私のものです: # external redirect from actual URL to pretty one RewriteCond %{THE_REQUEST} \s/+server\.php\?id=([^\s&]+) [NC] RewriteRule^details/%1? [R=301,L,NE]

# internal forward from pretty URL to actual one RewriteRule ^details/([^/.]+)/?$ server.php?id=$1 [L,QSA,NC]

0

はこれを使用します。domain.com/details/$1

RewriteEngine On 
RewriteRule ^details/([^/]*)$ /server.php?id=$1 [L] 

それはあなたのURLを提供します。テストする前にキャッシュをクリアしてください。

+0

私はちょうど上記のコードを試して、それは動作しませんでした。私は私のURL domain.com/details/$1を使用することもできませんでした。私はすでにこのコードが書かれた書き換えを持っています: 'Options + FollowSymLinks RewriteEngine on RewriteBase/ RewriteRule ^詳細/(?*)/ server?id = $ 1 [L]'古いURLのリダイレクトに失敗しました私はちょうど新しいものを書き直しました。 – Luz1fer

+0

書き換えは、通常、一方向のみで、SEOフレンドリーから「標準的な方法」までです。標準はいつも動作します! リダイレクトの場合は、SEOに適したリンクを使用してください –

関連する問題