に再指向は、私は(index.phpを)htaccessファイル - 再書き込みURLながら、異なるURL
は今、私はきちんとURLの必要なすべての要求を処理する1ページを持つサイトを持っていると言うことができますので、私がすることができます有効なURLのリダイレクト先の.htaccessを使用 -
パート1 - 再指示するURL文字列を解析するために、配列に「爆発」されるインデックスページへのすべての要求:
RewriteCond $1 !^(index\.php|robots|files|blog|[0-9]+$)
RewriteRule ^(.*)$ index.php?page=$1 [L]
をパート2 - http://example.com/123456
:
RewriteRule ^([0-9]+)$ index.php?user=$1 [L]
パート3からhttp://example.com/blog/blog_title.html
:
RewriteRule ^blog/([a-z0-9-_]+)\.html$ index.php?blog=$1 [L]
RewriteRule ^blog/. /blog/ [R]
、私は ".htmlを" 前のブログ変数が一部であるとindex.phpにブログ記事をリダイレクトしています(blog_title )、それに準拠していないURLは/ blog /ディレクトリに転送されます。
私が持っている問題は、任意の助けをいただければ幸いhttp://example.com/blog/
を表示するアドレスバーを維持しながら、私は「index.phpを?ページ=ブログ」にまで再度直接URLを必要とするということです!
RewriteRule^blog /(。)/ blog/[R] 'とは何ですか?また、あなたがきれいなURLを作っているときに、あなたのブログURLが '.html'で終わるようにしたいのですか? – Gerben
これは 'RewriteRule^blog /([a-z0-9 -_] +)\。html $ index.php?blog = $ 1 [L]'行の後に来るので、 'RewriteRule^blog /(。)/ blog/[R] 'ディレクトリが' blog/'(' index.php'ではなく)に設定されているかどうかをチェックし、 'blog /'の後に何かがあるかどうかを確認してから(404ページを表示するのではなく) 'blog /'ディレクトリに移動します。 また、 '.html'で終わると、どこか読んだ静的なページの印象は、ファイル拡張子のないページに問題があり、それをディレクトリとして扱う検索エンジンの方が良いでしょう。 –
私はそれが 'RewriteRule^blog /になるかもしれないと思います。/blog/[R] 'の後ろに' blog/'の後に文字列を使用していないので、角括弧をつけたのとは対照的に –