我设法在我的网站上激活了通配符子域名。但是我希望能够创建子页面并能够访问这些子页面。
例如:
example.com ==域
example.subdomain/test上的test.example.com == subpage
test.example.com/subtest ==子域的子页面,我无法使其工作。
我正在使用concrete5 CMS ......
我当前的htaccess代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.example.com
RewriteCond %{HTTP_HOST} ^(.+).example.com
RewriteRule ^([^/]*)$ http://www.example.com/subdomain/%1 [P,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
我也试过这段代码:
RewriteCond %{HTTP_HOST} !^www\.example.com
RewriteCond %{HTTP_HOST} ^(.+).example.com
RewriteRule ^([^/]*)$ http://www.example.com/subdomain/%1/$1 [P,L,QSA]
但是,这始终显示子域名页面的内容,而不是子域名下面的页面。
----编辑----
克罗伊斯在聊天时给了我答案。这是我的htaccess现在可以使用通配符子域的子页面(使用Concrete5 CMS):
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} (.+)\.example\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule ^ index.php/subdomain/%1%{REQUEST_URI} [NE,L]
RewriteCond %{HTTP_HOST} !^www\.example.com
RewriteCond %{HTTP_HOST} ^(.+).example.com
RewriteRule ^([^/]*)$ http://www.example.com/subdomain/%1 [P,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
答案 0 :(得分:0)
您可以使用:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} (.+)\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/subdomain/ [NC]
RewriteRule ^ /subdomain/%1%{REQUEST_URI} [NE,L]