我刚刚拿到了新鲜的debian VPS。 我安装了url重写,这样的简单事情看似起作用
RewriteRule ^login$ /login.php
然而,这不起作用:
RewriteRule ^cats$ /index.php?cat=cats
任何人都知道为什么?
(它适用于本地xampp服务器+它在我拥有的共享主机上工作)
由于
答案 0 :(得分:0)
首先确保你有mod_rewrite,然后它就开启了。为此,请创建一个空的Php文件,然后添加<? phpinfo() ?>
并将其显示在浏览器中。
如果它“开启”,那么你可以继续。
如果它在.htaccess
文件中,则尝试使用/不使用斜杠。
RewriteRule ^cats$ /index.php?cat=cats
或
RewriteRule ^/cats$ /index.php?cat=cats
如果这还不够:
如果您在托管环境中不(=如果它是您自己的服务器而您可以修改虚拟主机,不仅仅是.htaccess
文件),尝试使用RewriteLog
指令:它可以帮助您找出这些问题:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
我最喜欢检查regexp的工具:
http://www.quanetic.com/Regex(别忘了选择ereg(POSIX)而不是preg(PCRE)!)