web-dev-qa-db-ja.com

クリーンなURLを有効にするにはどうすればよいですか?

Drupal 7をインストールしました。クリーンURLを有効にするためのチェックボックスまたはリンクが見つかりません。クリーンURLテストの実行ボタンのみが表示されます。

クリーンなURLを有効にするにはどうすればよいですか?

5
sjkon

クリーンURLの設定は、admin/config/search/clean-urlsにあります。
このページには、[クリーンURLを有効にする]チェックボックスが、有効にできる場合にのみ表示されます。サーバーがそれらをサポートするように構成されていない場合、そのページには次のメッセージが表示されます。

クリーンURLを有効にすることはできません。このページまたはページが見つからない(404)エラーが表示される場合は、クリーンなURLをテストした後、 を参照してください。オンラインハンドブック

Apacheサーバーで、Drupalのデフォルト設定を使用すると、次の場合にクリーンなURLが機能します。

  • サーバーでmod_rewriteモジュールが有効になっている
  • 次のディレクティブは、Apache構成ファイルにあります

    AllowOverride All
    AccessFileName .htaccess
    
13
kiamlaluno

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
7
Muhammad Reda

問題を解決した方法:

クリーンURL:

  1. 次のコマンドでmod_rewriteを有効にします。

    a2enmod rewrite
    
  2. 次に、/ etc/Apache2/sites-availableの下で「デフォルト」ファイルを編集し、Override NoneOverride Allに置き換えます。これは2回変更する必要があります。

  3. Apacheを再起動します

4
sokratis

Wampserverインターフェースを使用して、Apacheのrewrite_moduleを有効にしてください。

アクセスするには、systrayの緑色の「w」アイコンをクリックし、Apache> Apacheモジュールに移動して、rewrite_moduleをクリックします。

wampserverアイコンが赤に変わり、オレンジと緑に変わるはずです。そうでない場合は、wampserverを再起動してみてください。アイコンが緑色の場合は、Apacheモジュールに再度アクセスして、rewrite_moduleがチェックされていることを確認してください。

rewrite_moduleを有効にすると、基本的にmod_rewriteがオンになりますが、wampserverがそれを呼び出す理由がわかりません。うまくいけば、きれいなURLで問題が解決します。テストを再度実行することで、修正されたことを確認できます。

3
D34dman

クリーンアップ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
1
Nitesh Sethia

これは.htaccessファイルで使用できます

まず、このコード行を.htaccessファイルで見つけます

#RewriteBase /

次のコード行に置き換えます。

RewriteBase /~yoursitename/yoursitename

コードから#を削除します。ここでyoursitenameexample.com/~yoursitename/yoursitenameのようなドメイン名の後のフォルダ名です。

1
user50292

コメントを解除するか、次の行を追加する必要があります。

LoadModule rewrite_module modules/mod_rewrite.so

有効にする mod_rewrite Apacheモジュール。

0
user2630080