У меня есть веб-сайт HTML, работающий в основном домене http://arabyouthsurvey.com
, и я добавил на него перенаправление без www на www, добавив некоторый код в мой .htaccess для основной каталог. Теперь у меня есть блог WordPress внутри подкаталога, как http://arabyouthsurvey.com/media-center
.
Прежде всего, мне нужно перенаправить все URL, не относящиеся к www, в том числе мой блог должен быть перенаправлен с www.
Проблемы, с которыми я сталкиваюсь:
Если я добавляю перенаправление в основной каталог .htaccess. Он перенаправляет URL-адреса только для веб-сайта HTML, но он блокирует веб-шрифты в моем блоге.
С этой ошибкой я сталкиваюсь в своем блоге после добавления перенаправления в основной файл .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