首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >htaccess子域ssl通配符未打开文件

htaccess子域ssl通配符未打开文件
EN

Stack Overflow用户
提问于 2012-11-24 21:36:48
回答 2查看 1.6K关注 0票数 3

好了,我遇到了一个关于htaccess的问题,以及如何让它工作。

我刚刚为我的主域和子域购买了ssl通配符。我支持bluehost,他们建议添加以下内容:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain.example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdomain/$1
RewriteCond %{HTTP_HOST} ^subdomain.example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]

目前我所拥有的就是这个..。

代码语言:javascript
复制
RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ https://www.domain.com/$1 [L]

RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . sub_folder/index.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.php [L]

然而,这是有效的,我不能得到它,所以当我打开文件时,它只打开文件而不重定向……因此,如果我打开sub.domain.com/file/fil1.js,它将打开我不想要的index.php。

但是如果我使用/browse或者类似的东西,它就能工作……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-25 10:37:27

好了,在花了很多时间和玩耍之后,是文件请求没有包括子域文件夹,这导致它找不到文件位置。所以我设法对文件做了手动检查,这就是我得到的。这似乎就是我想要的。我不确定是否有更有效的方法,但这就是它所得到的。

代码语言:javascript
复制
#-------------------SUB.DOMAIN.COM---------------------
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteCond %{DOCUMENT_ROOT}/sub_folder%{REQUEST_URI} -f
RewriteRule . %{DOCUMENT_ROOT}/sub_folder%{REQUEST_URI} [L]

RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . sub_folder/index.php [L]
#--------------------------------------------------------------

而不是

代码语言:javascript
复制
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . sub_folder/index.php [L]
票数 1
EN

Stack Overflow用户

发布于 2012-11-24 21:46:32

您需要更改第二条规则,以便仅当请求为^(/)?$时才应用它,然后您需要重复bluehost告诉您要做的事情。从本质上讲,替换:

代码语言:javascript
复制
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . sub_folder/index.php [L]

他们告诉你要用的东西:

代码语言:javascript
复制
RewriteCond %{HTTP_HOST} ^sub.domain.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdomain/$1 [L]
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteRule ^/?$ /sub_folder/index.php [L]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13541742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档