ローカル XAMPP サーバーで正常に動作する Codeigniter サイトを持っていますが、共有ホスティングに移動したため、リンクをクリックすると 403 禁止エラーが発生します。ホームページは正常に表示されますが、スラッグのあるページでは 403 エラーが発生します。例えば
http://xxxxxxxxxxx/~test/
正常に動作します
http://xxxxxxxxxxx/~test/about-us
403 エラーが発生します。
この質問を見ましたが、私のアプリケーション フォルダーとそのサブフォルダーおよびファイルには、既にすべて 755 のアクセス許可があります。
私のベースURLはに設定されています
http://xxxxxxxxxxx/~test/
私の .htaccess は次のようになります。
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt|static)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
編集: 違いがある場合は、URL でハイフンを許可するように、コアの router.php を変更したと言う必要があります (独自の MY_router.php を作成する方がよいことはわかっていますが)。
$segments = $this->_validate_request(str_replace('-','_',$segments));
しかし、私はそれを元に戻そうとしました
$segments = $this->_validate_request($segments);
違いはありませんでした。
編集2:
別の更新。次のような URL で動作します。
http://xxxxxxxxxx/~test/about-us/consultancy
これだけじゃない
http://xxxxxxxxxx/~test/about-us
これは機能しますが:
http://xxxxxxxxxx/~test/about-us/