主目录上的非www到www重定向HTML和子目录WordPress站点无法正常工作

时间:2018-05-09 07:53:52

标签: wordpress apache .htaccess redirect

我在主域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

0 个答案:

没有答案