Drupal 6では、次のコードスニペットを.htaccessファイルで使用して、存在しないURLから情報を抽出し、それをGETフォームの既存のURLに渡しました。ただし、そうではありません。 t Drupal 7のインストールでURLを書き換え、URLにアクセスすると、書き換えが必要なページが表示されるだけです!すべてのキャッシュをクリアし、別のブラウザーを試しました。
# Custom Rewrite ScriptOptions +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteRule ^home/code/([^/]+) home/software?code=$1 [L,NC,QSA]
デフォルトのハンドラーが設定された直後にコードを配置しました。
このコードが機能しない理由を誰かに教えてもらえますか? Drupal 7で別の方法でこれを行う必要がありますか?
更新:このコードをDrupal 6-で動作させるためにStackoverflowで質問した質問を参照してください https://stackoverflow.com/questions/10765799/rewrite-a-url- to-include-get-data-with-drupal
「クリーンURL」の処理は、Apache RewriteRuleに影響する方法でDrupal 6からDrupal 7に変更されました。
私がhome/software?code=$1
を典型的なDrupalのURLとして認識していないので、それがあなたを噛んだのかどうかはわかりません。しかし、私はDrupal 7で「クリーンでない」URLに書き換える必要があることを発見しました。
たとえば、以下はDrupal 6では機能しますが、Drupal 7では機能しません。
RewriteRule ^home/code/([^/]+) home/software/node?code=$1
Drupal 7では、クリーンなURLを有効にしている場合でも、クリーンなURLの宛先にnotを書き換える必要があります。以下はDrupal 7で機能します。
RewriteRule ^home/code/([^/]+) ?q=home/software/node/&code=$1
とてもシンプル
Drupa7フォルダー(プロジェクトフォルダー。www/ drupal_project /またはpublic_html/drupal_project /にある場合があります)の.htaccessファイルに移動します。
.htaccessは隠しファイルです。したがって、このディレクトリ構造www/your_project /(またはpublic_html/your_project /)に移動し、ctrl + hを押します。
.htaccessファイルを含むすべての隠しファイルを取得します。
.htaccessファイルで、行番号106に移動
管理者でない場合、またはアカウントを持っていて、そのアカウントから作業している場合は、次のように指定します#RewriteBase /〜username/your_project_folder
ファイルを保存します
このページのadmin/config/search/clean-urlsに移動します。
すべて問題なければ、[クリーンなURLを有効にする]チェックボックスが表示されます。
それを有効にすると、サイトのURLがクリーンになります。