好的,我遇到了一个关于我的htaccess如何工作的问题。
我刚刚购买了我的主域名和子域名的ssl通配符。我使用的是Bluehost,他们建议添加以下内容:
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]
目前我只有这个...
在此刻,我所拥有的是这个...
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或类似的东西,它可以正常工作...
[L]
,但是在你的主站点中,只有当sub_folder/file/location.php
不存在(或者你请求的任何内容不存在)时,才会加载/index.php
。RewriteCond %{REQUEST_FILENAME} !-f
条件确保了这一点。 - Jon Lin