我在主域http://arabyouthsurvey.com
上运行了一个HTML网站,我在 .htaccess 上添加了一些代码,在其上添加了非www到www重定向为主目录。现在我在像http://arabyouthsurvey.com/media-center
这样的子目录中有一个WordPress博客。
首先,我需要重定向所有非www网址,包括我的博客应该重定向到www。
我面临的问题是:
如果我在主目录的.htaccess上添加重定向。它只是为HTML网站重定向URL,但它阻止了我博客上的Web字体。
在主.htaccess文件中添加重定向后,我在博客中遇到此错误
Access to Font at 'http://www.arabyouthsurvey.com/assets/fonts/karbon-regular-webfont.woff2' from origin 'http://arabyouthsurvey.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://arabyouthsurvey.com' is therefore not allowed access.
如果我在博客.htaccess文件中添加重定向。它不起作用。
这是我在主目录.htaccess文件中添加的代码
ErrorDocument 404 http://arabyouthsurvey.com/page404.html
# redirect non www to www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
这是我的WordPress .htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /media-center/
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress