我的www
目录中的文件夹设置如下:
www/forums
www/helpdesk
www/www
在基础www
文件夹(不是www/www
)中,我在htaccess文件中设置了以下内容,以便根据子目录进行重定向
# Direct subdomains to appropriate folder in WWW directory
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
我还在主站点(index.php
)上配置www.example.com
以下设置 - 这也在www
目录中的htaccess文件中:
# Rewrite rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ www/$1 [L,QSA]
我面临的问题是我有来自forums.example.com
的内容我要嵌入www.example.com
(Vanilla Forums + WordPress插件) - 如果我使用管理面板配置,iFrame获取被阻止,因为它们是不同的域。
我发现当我转到www.example.com/forums
时,我会获得与forums.examples.com
相同的首页 - 但所有干净的网址都会中断。
当我查看.htaccess
文件夹中的www/forums
文件时,我看到以下配置
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php\?p=$1 [QSA,L]
我需要对www
目录中的.htaccess文件做些什么,这样当我转到www.example.com/forums
时,它就像我去forums.example.com
答案 0 :(得分:0)
...我的htaccess文件中设置以下基于子目录的重定向
# Direct subdomains to appropriate folder in WWW directory
除了:该片段只是一个规范的非www到www重定向。它没有基于子目录重定向"也不是指导[任何]子域名"。 (?)
iFrame被阻止,因为它们是不同的域。
听起来好像您需要在Access-Control-Allow-Origin
上设置forums.example.com
HTTP响应标头,以允许内容被嵌入"在example.com
?类似于www/forums/.htaccess
文件中的以下内容(使用mod_headers):
Header set Access-Control-Allow-Origin "http://example.com"
我需要对
.htaccess
目录中的www
文件做些什么,这样当我转到www.example.com/forums
时,它就像我去forums.example.com
一样}。
"所有干净的网址如何破坏"?但是,考虑到上面提到的HTTP标头,您不应该再做任何事情,仍然可以访问forums.example.com
(而不是子目录)。
顺便提一下,您可以访问子目录(子域指向的子目录)的事实就是您的主机配置方式。通常,您应该阻止对子目录的访问,以防止出现重复的内容问题(以及任何其他问题,例如您提到的链接问题)。
另请注意,由于mod_rewrite指令的继承方式(或者在这种情况下不是)。 www/forums/.htaccess
文件中的mod_rewrite指令完全覆盖父文件夹中的mod_rewrite指令。