XenForoのインストールのベースディレクトリに.htaccessファイルがあります。 SEOフレンドリーURLを有効にすると、フォーラムとメンバーページでのみエラー404が返されます。
htaccessファイル:
# Mod_security can interfere with uploading of content such as attachments. If you
# cannot attach files, remove the "#" from the lines below.
#<IfModule mod_security.c>
# SecFilterEngine Off
# SecFilterScanPOST Off
#</IfModule>
ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 405 default
ErrorDocument 406 default
ErrorDocument 500 default
ErrorDocument 501 default
ErrorDocument 503 default
<IfModule mod_rewrite.c>
RewriteEngine On
# If you are having problems with the rewrite rules, remove the "#" from the
# line that begins "RewriteBase" below. You will also have to change the path
# of the rewrite to reflect the path to your XenForo installation.
RewriteBase /
# This line may be needed to enable WebDAV editing with PHP as a CGI.
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>
sEOフレンドリーURLが有効/無効になっているときにindex.phpのリンクを見たとき?行っているはずですが、フォーラムを見つけることができないようです...
どうやら、エラーはまったくありません。
.htaccess
ファイルはサーバーで許可/有効化されていないようです。ファイルにランダムテキストを追加してもエラーは発生しないためです。 (それ以外の場合、500 Internal Server Errorが表示されるはずです。)
ドキュメントのルートディレクトリをカバーするサーバー設定(AllowOverride All
コンテナ)でAllowOverride FileInfo
(または<Directory>
のようなより制限的なもの-mod_rewriteに十分なもの)を設定する必要があります。
ただし、サーバー構成にアクセスできる場合は、サーバー構成でこれをすべて実行でき、.htaccess
をまったく使用しません(推奨)。
参照:
https://httpd.Apache.org/docs/2.4/mod/core.html#allowoverride
UPDATE:そして、まだ動作しない場合は、上記のコメントで述べたようにチェックを繰り返します:
<IfModule mod_rewrite.c>
ラッパーを削除します-エラーが発生しますか? mod_rewriteが有効になっていない場合は、500内部サーバーエラーが表示されることが予想されます(エラーログにはエラーの特定の詳細が含まれている必要があります)。 mod_rewriteを有効にする を実行し、Apacheを再起動する必要があります。FollowSymLinks
(またはSymLimksIfOwnerMatch
)は有効になっていますか?これはmod_rewriteが機能するために必要です。 Options +FollowSymLinks
ファイルの先頭に.htaccess
を追加します。まだApacheが生成した404メッセージが表示されている場合は、URLが書き換えられていないため、「何か他のもの」が発生しています。 (.htaccess
ファイルは「OK」に見えます。)
フレームワーク(XenForo)から生成された404が表示される場合、問題はアプリケーションにあります。