下面是mod_rewrite .htaccess文件,它用于我的web应用程序的Apache服务器上。
RewriteEngine On
RewriteBase /cs200/tokens/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
这些是一些可能有用的相关$_SERVER参数。
$_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。我试过以下例子,但这些例子都没有用
$HTTP["host"] =~ "www.example.com" {
url.rewrite-once = (
"^/cs200/tokens(.*)" => "/index.php"
)
}
例2
$HTTP["host"] =~ "www.example.com" {
url.rewrite-once = (
"^/cs200/tokens/(.*)" => "/cs200/tokens/index.php"
)
}
这些文件似乎都没有完成这个apache上的.htaccess文件的功能。在过去的12个小时里,这个问题一直困扰着我,我想放弃这个问题。有人能帮帮我吗?
我的Lighttpd服务器版本是1.4.39
发布于 2016-02-11 23:58:16
好吧,不管怎样,我都想通了。这是任何碰巧碰到这个问题的人。默认情况下,mod_rewrite在配置中是禁用的,必须在lighttpd.conf中开始时取消注释
server.modules = (
"mod_access",
"mod_alias",
"mod_compress",
"mod_redirect",
"mod_simple_vhost",
"mod_setenv",
#"mod_rewrite", //remove the hash here
)
同样,对上述条件适用于我的正则表达式是这样的
url.rewrite-once = (
"^/cs200/tokens(.*)" => "/cs200/tokens/index.php"
另外,这应该添加到
$HTTP“主机”=~ "www.example.com“
https://stackoverflow.com/questions/35288596
复制相似问题