繁体   English   中英

Apache Mod重写规则不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM