2

ローカルホストのセットアップ

Ubuntu 12.04

mod書き換え可能

異なるディレクトリで実行されている複数のサイト

ディレクトリ構造

/var/www/mysite1/htdocs/
/var/www/filehostwatch.com/htdocs/
.
.
.

私のgetsimpleディレクトリ(テスト目的でコピーされた)で問題なく動作するwordpress .htaccess

getsimple のものは私に 500 を与えます サーバーは内部エラーまたは設定ミスに遭遇しました...後で、このセクションがエラーの原因であることがわかりました

.htacess

AddDefaultCharset UTF-8

今エラーを引き起こすセクション

Options -Indexes

# blocks direct access to the XML files - they hold all the data!
<Files ~ "\.xml$">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>
<Files sitemap.xml>
        Order allow,deny
    Allow from all
    Satisfy All
</Files>

500 エラーを引き起こすセクションの終わり

RewriteEngine on

# Usually it RewriteBase is just '/', but 
# replace it with your subdirectory path
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]

サイトの /etc/apache2/sites-enabled/ にある構成ファイルは、ワードプレスが問題なく実行されている別のサイトのもののように見えます。そして、私が言ったように、wordpress からの htaccess は、コピーされたときにこのサイトでも機能します。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName filehostwatch.localhost

    DocumentRoot /var/www/filehostwatch.com/htdocs
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/filehostwatch.com/htdocs/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride FileInfo
        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>

この問題の原因は何ですか?

4

2 に答える 2

1

おそらく問題のあるセクションを変更Satisfy AllSatisfy Anyて、それが役立つかどうかを確認する必要があります。

AddDefaultCharset UTF-8

Options All -Indexes

# blocks direct access to the XML files - they hold all the data!
<Files ~ "\.xml$">
    Order deny,allow
    Deny from all
</Files>
<Files sitemap.xml>
    Satisfy Any
    Order allow,deny
    Allow from all
</Files>

RewriteEngine On

# Usually it RewriteBase is just '/', but 
# replace it with your subdirectory path
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
于 2013-01-03T06:34:21.217 に答える
0

私があなたの問題を正しく理解しているなら....htaccessあなたの/var/www/filehostwatch.com/htdocs/ディレクトリにありますか?その場合、ファイルに必要なものを構成するのに十分な権限を与えているとは思いません.htaccess...仮想ホスト設定には次のものがあります。

<Directory /var/www/filehostwatch.com/htdocs/>
    ...
    AllowOverride FileInfo
    ...
</Directory>

mod_rewrite 設定を変更する機能を提供しますが、ホスト アクセスの変更 ( Allow&Denyなど) やOptions.

AllowOverride All仮想ホスト構成でこれをに設定しようとしましたか? または、AllowOverride オプションにディレクティブ設定を追加することもできます。オフハンド私AllowOverride FileInfo Limit Optionsはトリックを行うべきだと思います。

AllowOverride に関する Apache のドキュメントも参照してください。

于 2013-01-04T00:24:29.517 に答える