子目录是 /addon/ 它存储我的子域(即插件域)的所有数据。在这个子目录中,我还存储了我的主域数据,我的主域是 website.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?website.com$ [NC]
RewriteCond %{REQUEST_URI} ^/addon/(.*)$
RewriteRule ^(.*)$ - [L,R=404]
好的,这部分完成了,如果我输入 website.com/addon/mysecondwebsite-com,我会得到 404。如果我输入 mysecondwebsite.com,我会看到 website.com/addon/mysecondwebsite-com 的内容。
这很棒,这就是我想要的。
现在是棘手的部分,我已经将 website.com 设置为使用 website.com/addon/website-com。无需告诉我如何为 website.com 配置 /addon/website-com。我需要为配置为使用 /addon/website-com/ 的 website.com 禁用 404,但我还需要确保如果我输入 website.com/addon/website-com 该目录返回 404.*
我的重写条件提到,如果我在我的主域 (website.com) 上输入 /addon/*,我将返回 404 错误。这对我的插件域非常有用,因为它们使用 /addon/ 而不是我的主域。但是我如何也阻止 /addon/* 但仍使用我的主域?
- website.com = 404 / 坏(website.com/addon/website-com)
mysecondwebsite.com = 200 / 好(website.com/addon/mysecondwebsite-com)
website.com/addon/mysecondwebsite-com = 404 / 好
- website.com/addon/website-com = 404 / 好
只是为了让您了解全貌,这是我的 /public_html/ 的 .htaccess 文件
# Part one block direct access to /addon/ folder
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?website.com$ [NC]
RewriteCond %{REQUEST_URI} ^/addon/(.*)$
RewriteRule ^(.*)$ - [L,R=404]
# Part two using /addon/website-com/ as website.com directory
RewriteCond %{HTTP_HOST} ^(www.)?website.com$
RewriteCond %{REQUEST_URI} !^/addon/website-com/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /addon/website-com/$1
RewriteCond %{HTTP_HOST} ^(www.)?website.com$
RewriteRule ^(/)?$ addon/website-com/index.php [L]