问题描述:
大家好,我正在安装SuiteCRM,它在报价模块中产生了一个undefine错误,在开发者工具显示来自 /custom/jsLanguage/en_us.js 目录的错误。在这种情况下有什么帮助吗?其余的 crm 工作没有问题.
官方提示1:
你能检查RewriteBase
一下public/legacy/.htaccess
文件吗?它有像/legacy
的值吗?
解决方案1:
非常感谢,我解决了,把.htaccess文件改成^//如下
<IfModule mod_rewrite.c>
Options +SymLinksIfOwnerMatch
Options -Indexes
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule /cache/jsLanguage/(.._..).js$ index.php?entryPoint=jslang&modulename=app_s$
RewriteRule /cache/jsLanguage/(\w*)/(.._..).js$ index.php?entryPoint=jslang&modulename$
# --------- DEPRECATED --------
RewriteRule /api/(.*)$ - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule /api/(.*?)$ lib/API/public/index.php/$1 [L]
# -----------------------------
RewriteRule /Api/(.*)$ - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule /Api/access_token$ Api/index.php [L]
RewriteRule /Api/V8/(.*?)$ Api/index.php [L]
</IfModule>
<IfModule mod_headers.c>
原代码如下:
<IfModule mod_rewrite.c>
Options +SymLinksIfOwnerMatch
Options -Indexes
Options -MultiViews
RewriteEngine On
RewriteBase /publiclegacy/
RewriteRule ^cache/jsLanguage/(.._..).js$ index.php?entryPoint=jslang&modulename=app_strings&lang=$1 [L,QSA]
RewriteRule ^cache/jsLanguage/(\w*)/(.._..).js$ index.php?entryPoint=jslang&modulename=$1&lang=$2 [L,QSA]
# --------- DEPRECATED --------
RewriteRule ^api/(.*)$ - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^api/(.*?)$ lib/API/public/index.php/$1 [L]
# -----------------------------
RewriteRule ^Api/(.*)$ - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^Api/access_token$ Api/index.php [L]
RewriteRule ^Api/V8/(.*?)$ Api/index.php [L]
</IfModule>
解决后的效果
官方提示2:
也可以检查一下你的遗产.htaccess
吗?在public/legacy/.htaccess
如果您vhost
直接指向 SuiteCRM 的公共文件夹,RewriteBase
则上述文件应类似于:
RewriteBase /legacy
如果您的实例位于 https://<some-host>.com/subfolder/
你的RewriteBase
应该是:
RewriteBase /subfolder/public/legacy
解决方案2:
修改 .htaccess
文件
修改后的 .htaccess
文件