服务器上的URL重写失败

时间:2018-04-06 09:53:17

标签: .htaccess

我在localhost上开发了一些PHP脚本,并编写了一个htaccess文件,以使网址更加用户友好。

在localhost上,htaccess文件可以正常工作。网址:

http://localhost/project-bridgestone/read/8?source=red 正确映射并发送到文件: http://localhost/project-bridgestone/read/index.php?request=8?source=red(双倍?按要求)

为此我使用了这个htaccess文件:

Options +FollowSymLinks
RewriteEngine On
##jsonoutput.
RewriteBase /read/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) http://localhost/project-bridgestone/read/index.php?request=$1

url的给定示例相当简单,但也可以是:

http://localhost/project-bridgestone/read/rmv;;2;2018;?source=rmv-repo

此网址也有效。

然后今天早上我将所有内容上传到了服务器,并对它无法正常工作感到沮丧。

我编辑了Re​​writeRule,使其与服务器匹配。但访问:

192.168.0.123/project-bridgestone/read/rmv;;2;2018;?source=rmv-repo

重写URL,以便省略第二个?;地址栏中的网址也会更改为:192.168.0.123/project-bridgestone/read/index.php?request=rmv;;2;2018;

我检查了httpd.conf文件,但是没有任何内容让我相信它影响了/ project-bridgestone /目录。我通过删除htaccess文件测试它并转到:192.168.0.123/project-bridgestone/read/index.php?request=rmv;;2;2018;?source=rmv-repo这在我的localhost上工作,除了写入URL的方式。

在httpd.conf文件中,AllowOverwrite设置为All。

htaccess文件应该做的本质是将/ read /之后的URL字符串和'转发'转发给... /read/index.php?request=<URL_string>,而不在地址栏中显示长路径。

我该如何解决这个问题? 是什么导致htaccess文件在localhost上工作但在服务器上失败(我没有配置权限)? (出于好奇)。

0 个答案:

没有答案