Drupal 7をインストールしました。クリーンURLを有効にするためのチェックボックスまたはリンクが見つかりません。クリーンURLテストの実行ボタンのみが表示されます。
クリーンなURLを有効にするにはどうすればよいですか?
クリーンURLの設定は、admin/config/search/clean-urlsにあります。
このページには、[クリーンURLを有効にする]チェックボックスが、有効にできる場合にのみ表示されます。サーバーがそれらをサポートするように構成されていない場合、そのページには次のメッセージが表示されます。
クリーンURLを有効にすることはできません。このページまたはページが見つからない(404)エラーが表示される場合は、クリーンなURLをテストした後、 を参照してください。オンラインハンドブック 。
Apacheサーバーで、Drupalのデフォルト設定を使用すると、次の場合にクリーンなURLが機能します。
次のディレクティブは、Apache構成ファイルにあります
AllowOverride All
AccessFileName .htaccess
mod_rewrite
モジュールはwampserverを再起動します。
mod_rewrite
クイック起動アイコンから。右クリックして[Apacheモジュール]メニューを表示し、mod_rewrite
有効になっています。
更新:
ファイルを開くhttpd.conf
Apacheインストールフォルダー内で、次の行を編集します。
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
することが:
AllowOverride All
問題を解決した方法:
クリーンURL:
次のコマンドでmod_rewrite
を有効にします。
a2enmod rewrite
次に、/ etc/Apache2/sites-availableの下で「デフォルト」ファイルを編集し、Override None
をOverride All
に置き換えます。これは2回変更する必要があります。
Apacheを再起動します
Wampserverインターフェースを使用して、Apacheのrewrite_moduleを有効にしてください。
アクセスするには、systrayの緑色の「w」アイコンをクリックし、Apache> Apacheモジュールに移動して、rewrite_moduleをクリックします。
wampserverアイコンが赤に変わり、オレンジと緑に変わるはずです。そうでない場合は、wampserverを再起動してみてください。アイコンが緑色の場合は、Apacheモジュールに再度アクセスして、rewrite_moduleがチェックされていることを確認してください。
rewrite_moduleを有効にすると、基本的にmod_rewriteがオンになりますが、wampserverがそれを呼び出す理由がわかりません。うまくいけば、きれいなURLで問題が解決します。テストを再度実行することで、修正されたことを確認できます。
クリーンアップURLを開く場合ターミナル->コマンドを入力vim/etc/Apache2/sites-enabled/000-default
それはあなたが見るであろうそこに000デフォルトのファイルを開くでしょう
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride none
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${Apache_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${Apache_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
したがって、コード全体を選択し、これを000-defaultファイルのコードの代わりに配置します。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${Apache_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${Apache_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
ここで、aparcheサーバーを再起動します
Sudo service Apache2 restart
これは.htaccess
ファイルで使用できます
まず、このコード行を.htaccess
ファイルで見つけます
#RewriteBase /
次のコード行に置き換えます。
RewriteBase /~yoursitename/yoursitename
コードから#
を削除します。ここでyoursitename
はexample.com/~yoursitename/yoursitename
のようなドメイン名の後のフォルダ名です。
コメントを解除するか、次の行を追加する必要があります。
LoadModule rewrite_module modules/mod_rewrite.so
有効にする mod_rewrite
Apacheモジュール。