gpt4 book ai didi

.htaccess 重写子域和主域的子文件夹

转载 作者:行者123 更新时间:2023-12-05 01:11:59 26 4
gpt4 key购买 nike

网上有大量关于使用 .htaccess 重写您的子域的资源,如果需要,还可以将您的主域重写到一个子文件夹中。我找到了很多答案,其中大部分是完全相同的。我一直在繁琐地测试这些方法,但在所有情况下我都遇到同样的问题。

考虑想要的结果:
ma​​indomain.com : 重写为/public_html/mainsite/
sub.maindomain.com : 重写为/public_html/sub/

我考虑过的最快/最干净的方法如下:

RewriteEngine On

# Rewrite the main domain
RewriteCond %{HTTP_HOST} !sub.maindomain.com
RewriteCond %{REQUEST_URI} !^/mainsite
RewriteRule ^(.*)$ /mainsite/$1 [L]

# Rewrite the sub domain
RewriteCond %{HTTP_HOST} sub.maindomain.com
RewriteCond %{REQUEST_URI} !^/sub
RewriteRule ^(.*)$ /sub/$1 [L]

除了 1 个烦人的问题外,这很好用;线路

RewriteCond %{REQUEST_URI} !^/mainsite

基本上可以防止重写循环,但是如果您浏览到 maindomain.com/mainsite/,它会重写到/public_html/mainsite/而不是/public_html/mainsite/mainsite/希望引发 404 未找到。如果我删除该行,我会在进入循环时收到 500 服务器错误 :S

问题是,这些域中的任何一个都需要自由创建文件夹等,并希望确保人们创建的子文件夹中有绝对的自由 :S

有人可以帮忙吗?

最佳答案

RewriteEngine On

# Rewrite the main domain
RewriteCond %{HTTP_HOST} !sub.maindomain.com
RewriteCond %{REQUEST_URI} !^/mainsite/.*
RewriteRule ^(.*)$ /mainsite/$1 [L]

# Rewrite the sub domain
RewriteCond %{HTTP_HOST} sub.maindomain.com
RewriteCond %{REQUEST_URI} !^/sub/.*
RewriteRule ^(.*)$ /sub/$1 [L]

你需要让它不匹配/mainsite 目录中的任何文件,而不仅仅是根目录 (/mainsite)。我认为您也需要对子域执行相同的操作。

关于.htaccess 重写子域和主域的子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5084235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com