Drupalでサイトを製作時にたまにハマるのでメモ。
root階層でDrupal6使用。
2階層目でDrupal7を使用。
2階層目でDrupal7でClean URLが効かない現象。
URLの後ろに?q=が付いてしまう。
例で上げると hogehoge.com/hige/?q=hogehoge
みたいな感じ。
解決方法はDrupal7の.htaccessを修正する。
# Pass all requests not referring directly to files in the filesystem to
# index.php. Clean URLs are handled in drupal_environment_initialize().
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]
修正後
# Pass all requests not referring directly to files in the filesystem to
# index.php. Clean URLs are handled in drupal_environment_initialize().
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} !=/favicon.ico
#RewriteRule ^ index.php [L]
RewriteCond %{REQUEST_URI} ^/(.*)$
RewriteRule ^(.*)$ /hige/?q=$1 [L,QSA]
で一応動いている。