2011-12-06 26 views
0

可能性の重複:
Url Rewriting HelpかなりのURLを使用するURLを取得するにはどうすればよいですか?

は、どのように私は/index.php?p=2で終わるURLの代わりに.htaccess(プリティURL)を使用して/2として表示するのですか?

私は現在Webcomicのサイトを表示していますが、.htaccessファイルで問題が発生しました。 /index.php?p=2から/2に書き直そうとしていますが、何らかの理由でそれが動作していません。

だから、どんな助けでも大歓迎です!

+1

あなたが試したものを投稿してください(あなたの現在.htaccessルール)。あなたは '/index.phpを表示しようとしている場合 – jman

+0

あなたはこの便利 http://stackoverflow.com/questions/8394424/make-clean-urls-and-retrieve-query-string – Sedz

+0

@limestudiosを見つけるかもしれませんか? '/ 2'に行くとp = 2'となり、これは私の推測となる複製です。 '/index.php?p = 2'に行くときに'/2'を表示させたいならば、それは奇妙ですが、本質的に異なる細部を持つ同じ書き換え問題です。いずれにしても投票に同意した。あなたが望むものを明確にすればよいかもしれません。 –

答えて

0

これに似た.htaccessファイルを作成します...(フラグはモッズ書き換えフラグのドキュメントごとに変化させる/変更する必要があります:http://httpd.apache.org/docs/2.3/rewrite/flags.html

RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule ^([A-Za-z_0-9-]+)/?$ index.php?p=$1 [QSA,L] 
2

.htaccess/index.php?p=2/2に書き換えることはできません。 問題が逆に近づいています。

書き換えルールは、特定のURIをフェッチするときにApacheが何かを行うように指示します。あなたが本当にする必要があるのは、Apacheに/2へのリクエストを "書き換え"て、代わりに/index.php?p=2をフェッチするように指示することです。

RewriteRule ^([0-9]+)$ index.php?p=$1 [L] 

をしてから、あなたのHTMLに、書き換えられたURIを指すようにすべての単一のリンクの代わりに、正規の1を変更する:あなたは、次のRewriteRuleで行うことができます。 Apacheはあなたのリンクを "書き換え"ません。しかし、上記のルールの助けを借りて、クライアントが/2を照会するときに適切なリソースを取得します。

関連する問題