ここの .htaccess QA で探しているものを見つけることができなかったので、これが重複している場合はご容赦ください。静的 HTML サイトで次の問題があります。構造は以下。
私の相対パスは でinfo.html
あり、while usescontact.html
を使用する必要があります。手伝ってくれてありがとう。 /home/css/style.css
index.html
/css/style.css
Root
- .htaccess
↳ Drupal
- .git
↳ Dev
- .git
↳ Home
- .htaccess
- .git
- css
- js
- img
- info.html
- contact.html
- index.html
ゴール
Dev.example.com
からすべてのファイルを使用するには/Dev
example.com
からすべてのファイルを使用するにはexample.com/home
example.com/info
からリダイレクトしexample.com/home/info.html
ます。example.com/contact
からリダイレクトしexample.com/home/contact.html
ます。
これまでに試したこと
ルート内 .htaccess
# Set a default home directory, (this subfolder always loads)
# RewriteEngine On
# RewriteCond %{THE_REQUEST} ^GET\ /home/
# # RewriteCond %{HTTP_HOST} ^(www\.)?example.com$
# RewriteRule ^home/(.*) /$1 [L,R=301]
# RewriteCond %{HTTP_HOST} ^(www\.)?example.com$
# RewriteRule !^home/ home%{REQUEST_URI} [L]
Options -Indexes
ErrorDocument 404 /missing.html
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
<FilesMatch "\.(htm|html|css|js)$">
AddDefaultCharset UTF-8
</FilesMatch>
RedirectMatch 404 "(?:.*)/(?:\.git|file_or_dir)(?:/.*)?$"
# remove .html from html file names
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ %{REQUEST_URI}/ [L,R=301]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)/$ $1.html [L]
そして Root/drupal .htaccess で
default drupal stuff
SOで見つけた最も近い答え:
- ルート URL をサブディレクトリにリダイレクトする .htaccess 書き換え
- すべての Web サイト リンクを変更する: 最善の方法は何ですか?
- .htaccess を使用してサイトのルートをサブディレクトリにリダイレクトする
- ルートへの htaccess サブディレクトリ URL
編集:サブディレクトリごとに個別のgitリポジトリがあるため、与えられたアドバイスに部分的に従うことになりました。@Jon Lin と @tttony に感謝します!
新しい問題:ルートの .htaccess では、サブフォルダーにインストールされている drupal を表示できません。
Drupal.examples.com
/Drupal
**のすべての drupal ファイルを使用します