我遇到了一个mod_rewrite问题,这次我无法弄清楚自己:
页面中的某些Javasript需要加载更多的JS文件,因为缺少CORS-Header而拒绝这些文件(Access-Control-Allow-Origin)
我的服务器结构
Root | admin | index.php
| content | (...)
| system | wysiwyg | (Files)
根目录中的.htaccess
:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^i.cms.local
RewriteRule ^(.*)$ /content/media/getImage.php?img=$1 [QSA,NC,L]
RewriteCond %{HTTP_HOST} ^(admin|a).cms.local
RewriteRule ^(.*)$ /admin/$1 [L]
RewriteCond %{HTTP_HOST} ^cms.local
RewriteRule ^(.*)$ http://www.cms.local/$1
RewriteCond %{REQUEST_URI} \ /+index\.php\?q=([^&\ ]+)
RewriteRule ^ /%1.html [L,R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)\.html$ /index.php?q=$1 [L]
RewriteRule ^(.+)/$ index.php?q=$1 [L]
文件im on是通过子域a.cms.local
访问的管理员目录中的index.php。 s2.cms.local/wysisyg/...
通常可以访问其他文件。但是为了避免CORS Header错误,我需要从同一个URL接收它们,对吧?我虽然使用以下链接:
然后.htaccess将所有wysiwyg请求重定向到系统文件夹中的wysiwyg文件夹。不知怎的,我不断收到404错误 - 希望有人有个主意吗?
答案 0 :(得分:0)
在这篇类似的帖子中找到答案:https://stackoverflow.com/a/27990162/1190388 在htaccess中添加以下内容,为所有使用^ orgin cms.local的URL启用CORS:
heroku run python manage.py syncdb