2011-07-30 5 views
1

を入手するには、Pythonスクリプトからコンテンツを取得するために "スマートURL"( "意味/友好/ SEO URL"とも呼ばれます)を使用したいと思います。しかし、私はすべてのファイルを作成したくありません(URLサブパスに応じて各項目に1つずつ)。使用するPythonまたは.htaccessのフレンドリなURLをLinuxサーバで使用する


データは、Pythonの辞書に保存され、ここでファイルの場所ですされています

http://mysite.com/blog/data.py 


が、私は(.htaccessファイルで)コンテンツを取得するためにこのシステムを使用します。

http://mysite.com/blog?article=myfirst_article_id 
>>> return "The content of myfirst_article" 


目標はなく、クエリ文字列なしで同じことを行うことです。

http://mysite.com/blog/first_article_id 
>>> return "The content of myfirst_article" 


これはPython(と.htaccessなし)で行うことはできますか?
もしそうでなければ、.htaccessでどうすればいいですか?

+0

あなたはPython Webフレームワークを使用していますか? –

+0

@Charles Ma:いいえ。私は一からすべて書き込むようにしています。 – Thammas

+1

@Thammasあなたへの私の尊敬!それと幸運! –

答えて

4

を使用することができます。 Flaskのような最小限のものでも、独自のURLパターンを定義する機能を備えた適切なURLルーティングを提供します。さらに、のCGIでPythonスクリプトを実行するよりも、ほぼ確実に動作します。

+0

あなたの助言に感謝します。私は不思議です...なぜスクリプトは遅くなるのでしょうか?リンクがありますか? – Thammas

+2

CGIは、URLにアクセスするたびに新しいPythonインタプリタを起動します。ほとんどのPythonフレームワークではWSGIを使用していますが、そうでない場合もあります。 – XORcist

+0

@DanielRoseman私はこの回答に同意します。 FastCGIで[web.py](http://webpy.org)を使っています。今はもっと簡単です! – Thammas

3

htaccessファイルを使用すると、Webフレームワークを使用して、このルール

RewriteEngine On 
RewriteRule ^blog/([0-9]+)$ /blog/data.py?article=$1 [L] 
+0

このルールでは、マイページにリンクがある場合(mysite.com/blog/12345など)、検索エンジンによってどのURLがインデックスに登録されるのかわかりますか? mysite.com/blog/12345またはmysite/com/blog?article = 1234? – Thammas

+1

あなたがあなたの他のページからリンクするときに、あなたは "きれいな"リンクのみを使用し、それが検索エンジンによってインデックスされることを確認してください。 – Vish

関連する問題