#記号がURLエンコードされたとして、あなたが/#/ビデオ/私の初-VID/にリダイレクトするためのmod_rewriteを使用することはできませんようで、それはあなたが探しているではないものです明らかにされhttp://example.com/%23/video/my-first-vid/にリダイレクトされますために。私はこの数日前にApache 1.3をテストしました。
リダイレクト用に別のスクリプトを作成することができます。
RewriteRule ^video/?$ /redirector.php?page=video [NC,L,QSA]
RewriteRule ^video/(.*)$ /redirector.php?page=video&subpage=$1 [NC,L,QSA]
しかし、それはのようななめらか可能性として、あなたはまた、手動でクエリ文字列を解析する必要があります:このために新しいルールを追加
<?php
$page = (isset($_REQUEST["page"])) ? trim($_REQUEST["page"]) : "";
$subPage = (isset($_REQUEST["subpage"])) ? trim($_REQUEST["subpage"]) : "";
// setting the redirect URL, your conditions here
if ($page == "video")
{
$url = "/#/video/" . $subPage;
}
else
{
$url = "/"; // some default url
}
header("Location: " . $url);
exit;
?>
:
は
/video/my-first-vid/?refID=test
ここではPHP上でいくつかの簡単な例です
うわー、ありがとう!それは素晴らしい例です。しかし、私は 'RewriteRule ^(\ w +)/(\ w +)/?$ /#/ $ 1/$ 2/[NE、R、L]'で動作するように見える方法に遭遇しました。 - ** mydomain.com/video/video1 **〜** mydomain /#/ video/video1 **私はフラグがハッシュ(#)を通過させることができると思います。これは、あなたが考えるSEOの問題を引き起こす可能性がありますか? – JCraine
@JCraine modrewriteルールが実際に問題を解決した後、[NE]フラグ(出力のURIエスケープなし)。だから、私の以前の解決策を気にする必要はありません、ちょうど1つのフラグを追加してください:)ありがとう! –