如何解决插入第二个域规则 htaccess
我购买了第二个域并将其添加到我的主机中,如何配置 htaccess 文件以将第二个域的页面重定向到其自己的文件夹? 这是我目前的文件,第一个域在公共文件夹中:
RewriteEngine on
RewriteRule ^sitemap/sitemap-surveys.xml$ sitemap/sitemap-surveys.PHP
RewriteRule ^sitemap/sitemap-users.xml$ sitemap/sitemap-users.PHP
RewriteRule ^sitemap/sitemap-flashpinions.xml$ sitemap/sitemap-flashpinions.PHP
RedirectMatch ^/$ /accounts/index
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/about/index.html$
RewriteRule ^.*$ /public/index.PHP [NC,L,QSA]
第二个域位于 site2 文件夹内
解决方法
根据您显示的示例,您能否尝试以下操作。考虑到任何包含新域的 url 都应由 site2/public/index.php 文件重写,请确保您的 htaccess 应位于 htaccess、site2 文件夹和 site1 文件夹所在的同一文件夹中。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(site2)\.com$ [NC]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^ %1/public/index.php [L]
RewriteRule ^sitemap/sitemap-surveys.xml$ sitemap/sitemap-surveys.php
RewriteRule ^sitemap/sitemap-users.xml$ sitemap/sitemap-users.php
RewriteRule ^sitemap/sitemap-flashpinions.xml$ sitemap/sitemap-flashpinions.php
RewriteCond %{HTTP_HOST} !^(site2)\.com$ [NC]
RewriteRule ^/?$ /accounts/index [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/about/index.html$
RewriteRule ^.*$ /public/index.php [NC,L,QSA]
我对上面的测试是如何进行的(我在这里使用的是本地主机,您可以在这里使用您的域名),我的文件夹位置是什么样的。
/var/www/html/.htaccess
/var/www/html/site2/
/var/www/html/site2/public/index.php
测试结果:
curl -IL "http://localhost:80/test/blabla"
HTTP/1.1 200 OK
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。