Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache重写url_Apache_Url_Mod Rewrite_Url Rewriting - Fatal编程技术网

Apache重写url

Apache重写url,apache,url,mod-rewrite,url-rewriting,Apache,Url,Mod Rewrite,Url Rewriting,我试图重写url,但失败了。我能知道怎么了吗?有人能告诉我吗?我将代码放在.htaccess中。我也启用了“重写”模块 RewriteEngine On RewriteRule /place/^([a-zA-Z0-9])$ /placelink.php?lid=$1 例如:domain.com/place/xyz->domain.com/placelink.php?id=xyz 更新: 我刚刚发现我的语法现在是正确的。但不是mod_重写不起作用。phpinfo显示mod_重写模块可用 更新2

我试图重写url,但失败了。我能知道怎么了吗?有人能告诉我吗?我将代码放在.htaccess中。我也启用了“重写”模块

RewriteEngine On
RewriteRule /place/^([a-zA-Z0-9])$ /placelink.php?lid=$1
例如:domain.com/place/xyz->domain.com/placelink.php?id=xyz

更新

我刚刚发现我的语法现在是正确的。但不是mod_重写不起作用。phpinfo显示mod_重写模块可用

更新2

RewriteEngine On 
RewriteRule ^/?test\.html$ test.php [L]

^
表示“字符串的开头”
/path/
是一个文本。因此,您需要一个包含
/path/
的字符串,然后字符串开始。这在逻辑上是不可能的。有关正则表达式的更多信息,请参阅。

很可能您想要这个

RewriteEngine On
RewriteRule ^place/([a-zA-Z0-9-]+)/?$ /placelink.php?lid=$1
这将接受…的请求

domain.com/place/the-moon
…并将提供

domain.com/placelink.php?lid=the-moon

我已取出^和$。但也不起作用。我已经更新了我的问题。@benmsia:完全可能不允许您在.htaccess文件中添加重写规则。Apache中的AllowOverride指令设置为什么?@benmsia您的更新没有用,因为它没有显示您现在正在做什么。@hobbs起初,我认为这是由于语法错误,无法重写url。但现在我意识到,即使是简单的重写,我的服务器也无法执行。即使在设置启用mod_rewrite之后。我可以知道如何解决这个问题吗?如何启用它?我在httpd中取消对重写模块的注释后还有什么步骤吗?谢谢你的回复,如果我的评论不清楚,一定要问我。谢谢。@benmsia没有。很可能你的“简单重写”也错了。@hobbs,更新2是我的简单重写。当我键入test.html时,它将显示test.php的内容。有什么错误吗?thx..定义“不工作”,如果您遇到500服务器错误,那么是的,mod_rewrite可能未启用,或者失败。如果什么都没有发生,你可能只是在期待错误的事情发生。人们在他们的网站上留下domain.com/placelink.php?lid=the moon的链接,并期望重写规则以某种方式神奇地改变他们用户地址栏中的链接,这是非常常见的(也是令人愤怒的),这与mod_rewrite的目的相反。您网站上的链接必须采用domain.com/place/The-moon的形式。如果这不适用,请参考第1点