Php HttAccess重定向问题,查询字符串参数未设置

Php HttAccess重定向问题,查询字符串参数未设置,php,apache,.htaccess,redirect,mod-rewrite,Php,Apache,.htaccess,Redirect,Mod Rewrite,我最近换了主机。旧服务器有PHP5.3,新服务器有PHP5.6。主机的这种变化是使我的网站与PHP7兼容的一个步骤 然而,我遇到了htaccess重定向的问题 我的htaccess文件如下所示 DirectoryIndex index.php Options +FollowSymLinks RewriteEngine On RewriteRule ^company/([0-9]+)/?$ company.php?company_id=$1 [L] 所以当我进入带有urlmydomain

我最近换了主机。旧服务器有PHP5.3,新服务器有PHP5.6。主机的这种变化是使我的网站与PHP7兼容的一个步骤

然而,我遇到了htaccess重定向的问题

我的htaccess文件如下所示

DirectoryIndex index.php
Options +FollowSymLinks
RewriteEngine On

RewriteRule ^company/([0-9]+)/?$    company.php?company_id=$1 [L]
所以当我进入带有url
mydomain.com/admin/company/92的页面时

我似乎没有按照要求获取重定向的URL,即
mydomain.com/admin/company.php?company_id=92

这是打印
$\u服务器

    [REDIRECT_SCRIPT_URL] => /admin/company/92/
    [SCRIPT_FILENAME] => /htdocs/myproj/admin/company.php
    [REDIRECT_URL] => /admin/company.php/92/
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => 
    [REQUEST_URI] => /admin/company/92/
    [SCRIPT_NAME] => /admin/company.php
    [STATUS] => 200
    [ORIG_PATH_INFO] => /92/
    [ORIG_PATH_TRANSLATED] => /htdocs/myproj/admin/company.php
    [PHP_SELF] => /admin/company.php
    [argv] => Array
        (
        )

    [argc] => 0
)

我已经在本地安装了PHP5.3,同样的代码也可以在本地安装。如何解决此问题?

这很可能是默认情况下新主机启用的选项
多视图的影响

您可以按如下方式将其关闭:

DirectoryIndex index.php
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /admin/

RewriteRule ^company/([0-9]+)/?$ company.php?company_id=$1 [L,NC,QSA]

选项
MultiViews
(请参阅)由
Apache的内容协商模块
使用,该模块在
mod_rewrite
之前运行,并使Apache服务器匹配文件扩展名。因此,如果
/file
是URL,那么Apache将在
^company
中提供
/file.html

^
将其粘贴到字符串的开头。因此,公司之前的任何事情都会使其无法匹配。您可以将其更改为
RewriteRule/company/([0-9]+)/?$/company.php?company\u id=$1[L]
例如,我尝试删除^。。。。在我使用PHP5.3的本地应用程序中,我仍然可以看到[QUERY\u STRING]=>company\u id=92您是对的。它似乎没有在目录级别启用!!!!非常感谢。我现在会打电话给我的托管公司,让它启用。我认为这很可能就是问题所在。我真傻,竟然不想先检查它。我的坏访问权限已启用,但我在错误的文件中进行了更改。我现在在正确的文件中进行了上述更改,但我收到了500个内部服务器错误(即,在添加-mulitviews和[L,NC,QSA]之后)。请提供建议。非常感谢您的时间。您能想到任何其他更改吗?我已尝试与托管客户服务中心联系,但没有任何运气。谢谢。我再次使用-MultiViews并与您联系[L,NC,QSA,R]-当我转到mydomain.com/admin/company/92时,它会将我重定向到mydomain.com/kunden/homepages/121/46545/htdocs/mypoject/admin/company.php?company_id=92……因此,我只需要确保重定向到mydomain/admin/company.php?company_id=92即可