Lighttpd 配置,.我的查询字符串中的(点)导致 404

2024-01-08

我的网站上有一个地址,如下所示:

http://www.example.com/lookup?q=http%3A%2F%2Fgigaom.com%2F2010%2F10%2F10%2f Angry-birds-for-windows 7-phone-dont-count-on-it% 2F http://www.example.com/lookup?q=http%3A%2F%2Fgigaom.com%2F2010%2F10%2F10%2Fangry-birds-for-windows7-phone-dont-count-on-it%2F

在此示例中,查询字符串“gigaom.com”部分中的点与 lighttpd 和我的重写规则有关。点进去后会得到 404,如果去掉点则不会得到 404。我的重写规则如下。为了以防万一,我使用的是 symfony 1.4。

如果有人能够阐明这个问题,我们将不胜感激!

url.rewrite-once = (
    "^/(.*\..+)$" => "$0",
    "^/(.*)\.(.*)"    => "/index.php",
    "^/([^.]+)$"      => "/index.php/$1",
    "^/$"             => "/index.php"
  )

对于任何在 lighttpd 和 symfony 方面遇到麻烦的人(我知道你在那里,因为这个问题有很多未解决的线程),我最终在下面解决并回答了它。


好的,经过多次调试后,在以下内容的帮助下:

debug.log-request-handling = "enable"

^^ 当您尝试在lighttpd 中调试重写规则时,这是一个救星! (它为我记录了所有内容到 /var/log/lighttpd/error.log )

我已经弄清楚了。对于所有那些在 symfony 与 lighttpd 一起使用时遇到困难的人(包括点问题!),这里有一组工作规则:

url.rewrite-once = (
    "^/(js|images|uploads|css|sf)/(.*)" => "$0", # we want to load these assets as is, without index.php
    "^/[a-zA-Z_-]+\.(html|txt|ico)$" => "$0", # for any static .html files you might be calling in your web root, we don't want to put the index.php controller in front of them
    "^/sf[A-z]+Plugin.*" => "$0", # don't want to mess with plugin routes
    "^/([a-z_]+)\.php(.*)\.(.*)$" => "/$1.php$2.$3", # same concept as rules below, except for other applications/environments (backend.php, backend_dev.php, etc)
    "^/([a-z_]+)\.php([^.]*)$" => "/$1.php$2", # see comment right above this one
    "^/(.*)\.(.*)$"    => "/index.php/$1.$2", # handle query strings and the dot problem!
    "^/([^.]+)$"      => "/index.php/$1", # general requests
    "^/$"             => "/index.php" # the home page
  )

如果有人遇到更多麻烦,请在这里发帖。谢谢!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Lighttpd 配置,.我的查询字符串中的(点)导致 404 的相关文章

  • 使用 htaccess 阻止特定文件扩展名?

    我使用此代码将所有请求发送到单个 php 文件 RewriteEngine On RewriteCond REQUEST FILENAME f RewriteCond REQUEST FILENAME d RewriteRule myfil
  • 如何在 Rails 应用程序中删除 URL 的尾部斜杠? (在 SEO 视图中)

    为了避免内容重复 我希望避免通过多个 URL 带或不带尾部斜杠 访问我的网站页面 目前 URL catalog product 1 and catalog product 1 导致同一页面 我的目标是将第二个 URL 重定向到第一个 当然是
  • 包含哈希标记的目标的 Apache 重写规则

    我正在尝试发出重定向 其中目标包含片段标识符部分 我尝试过这个规则 RewriteRule foo bar cgi script foobar 1 2 R L 但是 那 被转换成 23并且 Web 应用程序无法正确解析此 url 我怎样才能
  • 将子域请求重定向到子目录+ https(使用.htaccess)

    我有一些问题 htaccess我就是无法去上班 希望有人能解决这个问题 我有一个 SSL 证书www 域名 on an Apache服务器 我想要全部http subdomain domain com对指定列表的请求子域重定向到https
  • 从 https 切换到 http 时违反 RewriteRule

    我写了很多重写规则 in my htaccess文件 但是当我从https to http页面 它不遵守这些规则 NOTE 本地主机上一切正常 问题出在服务器上 UPDATE 这是我的website http www charityrumm
  • .htaccess 重定向到随机 URL

    我的服务器上有几个页面有流量 我需要将它们重定向到其他网站 这是最简单的部分 问题是我需要将事情混合起来并随机将人们发送到新站点 我发现可以在 time sec 之前做到这一点 但无论我尝试什么 我目前的知识都不足以使其发挥作用 这是我现在
  • 如何在 Symfony 1.4 中模拟错误 500?

    我创建了一个error500 php文件输入web errors 现在想测试一下 我试图将这一行放入我的一个操作中 this gt getResponse gt setStatusCode 500 不幸的是 它似乎被忽略了 你们知道这里发生
  • 如何使用 .htaccess 为多个参数创建干净的 url

    这是我的 htaccess 代码 用于重写干净的 url Options FollowSymLinks MultiViews Turn mod rewrite on RewriteEngine On RewriteBase RewriteC
  • Nginx 相对 URL 到绝对重写规则?

    给出以下配置 server listen 80 server name site com location proxy proxy pass http newsite com site com 上托管的页面使用相对路径 main css 对
  • 使用 asp.net 重写 URL。是否需要配置?

    我正在尝试在我的项目中启用重写的网址 这篇文章描述得很好 scottgu 的 url 重写 http weblogs asp net scottgu archive 2007 02 26 tip trick url rewriting wi
  • .htaccess HTTPS 主域和通配符 HTTP 子域 + 所有非 WWW

    Stack Overflow 上有很多类似的解决方案 例如htaccess http 到 https 带 www 不重定向子域 https stackoverflow com questions 30242495 htaccess http
  • 在 MVC 4 中使用路由更改 URL 参数

    我的几个 API 函数允许使用名为 attribute 和 attributeDelimiter 单数 的参数 这意味着预期的 URL 格式为 SomeController SomeAction aaa bbb attribute ccc
  • HTAccess - 令人困惑的干净网址

    如果我想简单地重定向 clients page to clients php view page我会使用像这样简单的东西 它效果很好 Options FollowSymlinks RewriteEngine on RewriteRule c
  • 特定文件夹的 .htaccess 例外

    这是我的 htaccess 代码 位于根文件夹中
  • nginx设置问题

    我知道这不是一个直接的编程问题 但是 stackoverflow 上的人似乎能够回答任何问题 我有一台运行 Centos 5 2 64 位的服务器 非常强大的双核 2 服务器 具有 4GB 内存 它主要提供静态文件 Flash 和图片 当我
  • 将具有子目录的域转发到具有子目录的其他域

    我有一个热爱域名的客户 更喜欢转发域名 其中许多域没有与其关联的网站 它们仅用于营销和转发 我知道如何轻松地将一个域转发到另一个域 但我好奇的是如何将这些域的特定 url 转发到其他特定 url 例如 www site1 com 目录 gt
  • cakephp 无法在 Ubuntu 上进行 url 重写

    全部 这次我尝试 cakephp 但我得到了 您的服务器上的 URL 重写未正确配置 1 帮我配置它 2 我不 不能使用 URL 重写 我可以知道这是 apache 和 htaccess 问题 例如 etc apache2 sites av
  • 重定向而不改变url

    我总是不喜欢 htaccess 我正在尝试建立一个所有请求都通过index php 的网站 但我希望URL 类似于www sample com home 该网址实际上会加载 www sample com index php page hom
  • ASP.NET Core 2.1 中不使用正则表达式的 URL 重写

    我的图标位于 images favicon ico而不是根 在Startup cs我可以添加重定向以避免 404 app UseRewriter new RewriteOptions AddRedirect favicon ico imag
  • 使用 URL 参数 ID 编号范围进行 HTACCESS 重定向

    我希望有人可以提供帮助 因为事实证明这很难弄清楚 我试图通过 HTACCESS 和 mod rewrite 重定向许多 URL 参数 ID 值在特定范围内 从 1 到 7603 的页面 这是我到目前为止所拥有的

随机推荐