【发布时间】:2023-03-27 07:19:01
【问题描述】:
我希望能够将所有子域重定向到一个文件夹:
RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$
RewriteRule (.+)$ "http://example.com/subdomains/%1" [L,P]
例如,如果有访问sub1.example.com会保留URL但显示example.com/subdomains/sub1,如果sub1目录不存在则显示example.com/404
这可能吗?
我尝试了上面的代码,但它显示给我:
Forbidden
You don't have permission to access /index.php on this server.
Wordpress 说:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
在我的 htaccess 文件的顶部,是:
RewriteEngine On
DirectoryIndex index.php
RewriteCond %{HTTP_HOST} admin.domain.com$
RewriteRule ^(.*)$ /admin/system/$1 [L]
【问题讨论】:
-
直接去
http://example.com/subdomains/sub1/怎么办?您是否也有Forbidden错误或者您可以访问它?不管怎样,你的代码应该可以工作,尽管它写得不好。我认为它确实有效。当您拥有此Forbidden时,您是否将sub1.example.com视为网址? -
不,工作正常,没有错误
-
代码对我来说也很好。禁止问题可能是由其他 .htaccess 设置引起的,例如在 IndexIgnore 上。检查您的目的地。