apachejs=>;PHP处理

apachejs=>;PHP处理,php,apache,.htaccess,Php,Apache,.htaccess,我需要处理请求 mysite.com/app.js?c=ClientID 通过PHP——正如它所说的那样 mysite.com/app.php?c=ClientID 这意味着为apache设置重写规则 我尝试使用: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^(.*\.)(js)$ app.php?src=$1 [L,QSA] </IfModule> 重新启动发动机 重写规则^(.*\)

我需要处理请求

mysite.com/app.js?c=ClientID

通过PHP——正如它所说的那样

mysite.com/app.php?c=ClientID

这意味着为apache设置重写规则

我尝试使用:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^(.*\.)(js)$ app.php?src=$1 [L,QSA]
</IfModule>

重新启动发动机
重写规则^(.*\)(js)$app.php?src=$1[L,QSA]
但是我有

错误的请求

您的浏览器发送了此服务器无法理解的请求。 客户端发送了格式错误的主机头

我做错了什么


谢谢

假设app.js不存在,请尝试下面的内容

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.js $1.php [QSA,L]
对于错误请求错误,您可以检查此错误,并确认您正在使用正确的apache版本来使用if指令,如仅在apache 2.4中支持的

修复了此错误:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^app\.js$ /app.php?&%{QUERY_STRING}
</IfModule>

重新启动发动机
重写规则^app\.js$/app.php?&%{QUERY\u STRING}

谢谢

考虑到您设置的规则,您收到的错误消息听起来很奇怪。请查看您的浏览器开发控制台并检查那里的请求。请求中实际发送了哪些标头?完整的回答是什么?请把这些东西加到上面的问题上。谢谢。我添加了截图。这对我们没什么帮助,因为你匿名了这些问题。那
主机
标题对你合适吗?然后查看http服务器错误日志文件以获取更多线索。还考虑启用重写日志来理解正在发生的事情。抱歉,固定的答案在这里。@向下投票的原因是什么?op显然在重写规则中存在缺陷,这可能是此处提到的错误请求错误的原因。