为什么我们的动态子域在访问时会返回 403 forbidden 错误?
Why are our dynamic subdomains returning a 403 forbidden error when accessed?
我们正在尝试使子域附加到具有相同名称的对应目录,因此我们使用 .htaccess
完成了此操作
php_value session.cookie_domain .domain.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^/.]+)\.domain\.com$
RewriteCond %1 !^(www|ftp|mail)$ [NC]
RewriteRule (.+)$ "http://domain.com/%0" [L,P]
DirectoryIndex index.php
要尝试访问子域,请将用户定向到目录。但我们的问题是每次我们尝试访问任何子域时,我们都会收到 403。我们在 Debian 上使用 Apache。 DNS 中的通配符有效,但不知道如何在虚拟主机中指定它。
您可以将此代码放入您的 htaccess(必须位于文档根文件夹中)
php_value session.cookie_domain .domain.com
DirectoryIndex index.php
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+?)\.domain\.com$ [NC]
RewriteCond %1 !^(?:www|ftp|mail)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /%1/ [L]
此代码将在内部将每个子域(www
、ftp
和 mail
除外)重写到其子文件夹中。
示例:http://user.domain.com/something 将在内部重写为 /user/something
注意:确保通配符指向与主域相同的文档根目录
我们正在尝试使子域附加到具有相同名称的对应目录,因此我们使用 .htaccess
完成了此操作php_value session.cookie_domain .domain.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^/.]+)\.domain\.com$
RewriteCond %1 !^(www|ftp|mail)$ [NC]
RewriteRule (.+)$ "http://domain.com/%0" [L,P]
DirectoryIndex index.php
要尝试访问子域,请将用户定向到目录。但我们的问题是每次我们尝试访问任何子域时,我们都会收到 403。我们在 Debian 上使用 Apache。 DNS 中的通配符有效,但不知道如何在虚拟主机中指定它。
您可以将此代码放入您的 htaccess(必须位于文档根文件夹中)
php_value session.cookie_domain .domain.com
DirectoryIndex index.php
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+?)\.domain\.com$ [NC]
RewriteCond %1 !^(?:www|ftp|mail)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /%1/ [L]
此代码将在内部将每个子域(www
、ftp
和 mail
除外)重写到其子文件夹中。
示例:http://user.domain.com/something 将在内部重写为 /user/something
注意:确保通配符指向与主域相同的文档根目录