首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在lighttpd中实现apache等效的mod_rewrite功能

在lighttpd中实现apache等效的mod_rewrite功能
EN

Stack Overflow用户
提问于 2016-02-09 09:44:17
回答 1查看 175关注 0票数 0

下面是mod_rewrite .htaccess文件,它用于我的web应用程序的Apache服务器上。

代码语言:javascript
运行
复制
RewriteEngine On
RewriteBase /cs200/tokens/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]

这些是一些可能有用的相关$_SERVER参数。

代码语言:javascript
运行
复制
$_SERVER["REQUEST_URI"]-    /cs200/tokens/
$_SERVER["DOCUMENT_ROOT"]-  /var/www/servers/www
$_SERVER["SCRIPT_FILENAME"]-    /var/www/servers/www/cs200/tokens/index.php
$_SERVER["PHP_SELF"] - /cs200/tokens/index.php

我有一个lighttpd服务器,我想在其中实现这个.htaccess文件的相同功能。我在网上参考了很多消息来源,并想出了这些。但它们都不起作用。假设我的域名是www.example.com。我试过以下例子,但这些例子都没有用

代码语言:javascript
运行
复制
$HTTP["host"] =~ "www.example.com" {

url.rewrite-once = (
    "^/cs200/tokens(.*)" => "/index.php" 
)
}

例2

代码语言:javascript
运行
复制
$HTTP["host"] =~ "www.example.com" {

url.rewrite-once = (
    "^/cs200/tokens/(.*)" => "/cs200/tokens/index.php" 
)
}

这些文件似乎都没有完成这个apache上的.htaccess文件的功能。在过去的12个小时里,这个问题一直困扰着我,我想放弃这个问题。有人能帮帮我吗?

我的Lighttpd服务器版本是1.4.39

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-11 23:58:16

好吧,不管怎样,我都想通了。这是任何碰巧碰到这个问题的人。默认情况下,mod_rewrite在配置中是禁用的,必须在lighttpd.conf中开始时取消注释

代码语言:javascript
运行
复制
server.modules = (
"mod_access",
"mod_alias",
"mod_compress",
"mod_redirect",
"mod_simple_vhost",
"mod_setenv",
    #"mod_rewrite", //remove the hash here

)

同样,对上述条件适用于我的正则表达式是这样的

代码语言:javascript
运行
复制
url.rewrite-once = (
    "^/cs200/tokens(.*)" => "/cs200/tokens/index.php" 

另外,这应该添加到

$HTTP“主机”=~ "www.example.com“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35288596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档