[英]Apache mod rewrite rule is not working
我已经检查过,MOD REWRITE已启动并在服务器上运行。
要求网址为:http://www.mydomain.com/user/123456
.htaccess
规则: RewriteRule ^/user/(.*)$ /user.php?user=$1 [L,QSA]
因此,从理论上讲,它应该在内部使用变量u=123456
重定向到php脚本user.php
,但是什么也没有发生? 我该如何调试?
Not Found
The requested URL /user/65464654 was not found on this server.
您需要摆脱模式中的前导斜线。 当用于与htaccess文件中的规则匹配时,将从URI中删除前导斜杠。 所以你要:
Options -Multiviews
RewriteEngine on
RewriteRule ^user/(.*)$ /user.php?user=$1 [L,QSA]
可能不需要-Multiviews
选项,这是为了确保mod_negotiation不会接管并自动将请求映射到user.php
然后才能应用您的重写规则。
if .htaccess is in /user then RewriteRule ^\d+$ user.php?user=$0 [L,QSA]
来自@Deadooshka的作品。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.