URL中的反斜杠会导致404错误

时间:2011-03-23 10:21:11

标签: zend-framework .htaccess wamp

我在页面上有一个搜索表单,我使用GET方法将数据发送到服务器,但是当我输入反斜杠并单击搜索时,我看到404错误。它适用于URL中的“\”。我该如何预防?

http://127.0.0.1:8080/SelfArea/wpzf/public/\

Apache服务器配置htaccess文件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Windows 7,WAMP Server。

2 个答案:

答案 0 :(得分:0)

很少有事情需要注意:

要点1.您的浏览器应将反斜杠转换为前言。许多浏览器都有“更新的东西”示例:您无法在Chrome中运行地址栏中的直接javascript。然而,一个优秀的程序员总是会想象一个用户比猴子更笨,所以你的问题很有道理!

要点2.如果接受参数,则可能需要使用以下方法去除斜杠:

Stripslashes Function

第3点。这在Linux系统中不会成为问题,因为Windows和Linux都有不同的文件结构。相信我,没关系:)

编辑:

PS:您可能希望通过将其置于“免费托管服务”来在Linux机器上进行测试!也就是说,如果你还没有服务器。

答案 1 :(得分:0)

在laravel中发生路由错误时,有两步加载页面: -

  1. 在网址localhost/project_name/index.php/page_name
  2. 中添加index.php
  3. apache2.conf修改etc/apache2请执行以下操作: -
  4. <Directory /usr/share>

    `AllowOverride All`
    
    `Require all granted`
    

    </Directory>

     <Directory /var/www/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>`
    

    它可以正常处理所有路由错误。