1

Drupal データベース (MySQL) の上にある ASP.NET MVC アプリがあります。現在、このアプリはニュースレターを作成しており、非常にうまく機能しています。ただし、現在、次のような URL を作成しています。

http://baseurl/node/<node-id>

問題は、クライアントがこの直接 URL ではなく、SEO に適した URL を実際に望んでいることです。そのようです:

http://baseurl/news/2012/9/hi-guys-this-is-just-a-test

この URL を取得する最良の方法は何ですか? データベースに保存されていますか?Drupal 固有のメソッドを介してのみアクセスできますか? ノード ID を取得してわかりやすい URL を返す Web サービスを Drupal で作成する必要がありますか? 他の何か?

どう思いますか?

4

2 に答える 2

3

pathautoモジュールを使用します。これにより、ノード ID を含むノードのあらゆる種類のプロパティから SEO フレンドリーなリンクを自動生成できます。

特定のケースでは、ASP.net を使用して Drupal データベースから生成された URL にアクセスする必要があります。ASP.net でデータベースにアクセスする方法はわかりませんが、url_aliasテーブルにクエリを実行する必要があります。node/1234このテーブルには、元の URL ( ) と生成された URLの間のマッピングが含まれます。

于 2012-09-10T21:09:58.013 に答える
0

ロルフ...いい答え。これにより、実際には、次を使用してすべてのノードのURLエイリアスを取得するためのクエリを実行できました。

SELECT n.nid, ua.dst FROM node AS n INNER JOIN url_alias AS ua ON ua.src = CONCAT('node/', n.nid);

または、 1つのアイテムを探している場合は単一のSELECTを実行し、/ node/{id}でWHERE条件を実行できます。

...魅力のように機能します。

于 2012-10-15T19:30:34.207 に答える