2011-02-10 7 views
0

ブログエントリのURLの一部にアクセスし、私は簡単に.htaccessファイルに以下の使用して、検索エンジンフレンドリーなURLを生成することができました高速CGIとしてPHPを実行している会社が主催するサイトで働いていますが、これはうまくいきません。私は次のURLを達成しようとしています - http://somewhere.com/blog/entry/12/this-is-the-titlemod_rewriteが、唯一私が働いてきた他のサイトで

私はID(例では12)を探していて、必ずしもタイトルを必要としません(このタイトルの背後にある私の論理は、リンクが壊れている可能性があります)。私は、次のmod_rewriteを試してみましたが、それは私がタイトル追加した場合は動作しません:

RewriteEngine on 
    RewriteRule ^entry/([^/\.]+)/?$ index.php?id=$1 [L] 

を、私は前のmod_rewriteで働いたことがないと私は全体来ている文書の多くは、はるかに複雑な結果を達成することについてです。どんな助けもありがたいです

答えて

1

.htaccessファイルが実際に/blog/.htaccessとして配置されている場合は、RewriteBase /blog/行が必要です。

番号を検索するだけで、返されたIDを制限することもできます。

RewriteRule ^blog/entry/([01-9]+)/?$ index.php?id=$1 [L] 

また、これは正規表現の '/?$' の部分を削除します。最後の '$'は、文字列の最後にマッチを固定します。数字が必要なだけで、数字以外のものは無視できます。

+0

.htaccessはブログディレクトリにあるので、 'RewriteRule^entry /([01-9] +)/?$ index.php?id = $ 1 [L]'になります。 http://somewhere.com/blog/entry/23などのhttp://somewhere.com/blog/entry/23/the-title結果では、404 – NightMICU

+1

の正規表現の '/?$'部分が削除されます次に。 '$'は文字列の最後にマッチを固定します。数字が必要なだけで、数字以外のものは無視できます。 –

+0

あなたは投票することもできますし、答えを受け入れることもできます:-) –

関連する問題