2017-10-25 9 views
0

私は通常Apacheを使用しません。私は書き換えルールを動作させるのに苦労しています。httpsへのhtaccessの書き換えは不要なフォルダを追加しています

ルートフォルダにはpublic_htmlという名前のフォルダが含まれています。期待どおりに読み込んだWebサイトを参照すると、Apacheは自動的にpublic_htmlフォルダ内のインデックスファイルを見つけます。私が持っている問題は、httpからhttpsへの書き換えルールを追加してURLにpublic_htmlを追加し、Not Foundエラーが生成される場合です。

これは私が使っていた書き換えルールです:

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule ^(.*)$ https://exampledomain.com/$1 [R=301,L] 

生産のURLは次のようなものです:

https://www.exampledomain.com/public_html 

目的のURLは次のようになります。

https://www.exampledomain.com 

この質問には2つの部分があります:

  1. htaccessファイルはrootまたはpublic_htmlフォルダにあるべきですか?
  2. public_htmlを追加して書き換えルールを禁止するにはどうすればよいですか?

ご不明な点がありましたら、ご遠慮なくお知らせください。

+0

は、ルートフォルダまたはpublic_htmlのフォルダのいずれかで '.htaccess'すでにありますか? –

+0

はい.htaccessは現在ルートフォルダにあり、その中に書き換えルールがあります –

+0

私の言語は正確ではありません:)確かに、:書き換えルールを追加する前に既に '.htaccess'がありました。だから、あなたはそれの内容を貼り付けることができますか? –

答えて

1

これは共有ホスティングなので、おそらくサーバー構成で既に構成されている書き換えがあります(すべての要求に接頭辞/public_htmlを追加するなど)。 あなたはして回避しようとすることができます:

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule ^public_html/(.*)$ https://exampledomain.com/$1 [R=301,L] 
関連する問題