我从 Zend Framework 开始,在他们的网站上有这个:
http://framework.zend.com/manual/en/zend.controller.html#zend.controller.quickstart.go.rewrite
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
如何好好利用它?我应该怎么做才能让它工作?现在,当我加载我的网站时,我收到 500 个内部服务器错误... :)
我应该将 REQUEST_FILENAME 更改为其他内容吗?
我对 htaccess 和 mod_rewrite 还是很陌生...
我正在使用 WAMPSERVER ...
显然我忽略了最明显的答案:我只是改变了这个:
对此:
在 httpd.conf 文件中。现在一切正常。
内部服务器错误意味着您的 .htaccess 中有错误
尝试将其删除,以查看问题是否消失。在这种情况下,添加您的行以查找有缺陷的行
使用 .httaccess 获取错误 500 的方法有很多。也许您对文件设置了错误的权限,或者您的文件中有错字。
所以我想我明白你的意思了。您基本上试图将任何不存在的请求重写到另一个页面。而不是你在做什么,我会试试这个:
仅当文件/目录/链接不存在并将其重写为指向索引页时才会匹配。
您应该检查您的服务器错误日志以获取详细信息。对于 Apache,这通常是
%APACHE_DIR%\logs\error.log
(在 Windows 上)或/var/logs/apache/error.log
Linux 上。我添加了以下重定向规则,重定向工作正常,但地址栏中的 URL 没有打印或看起来像要求的那样。
RewriteRule ^(az).htm http://localhost/info/mystuff.php?tech=$1 [L]
我希望我的 URL 像http://localhost/info/w3calculator
但它打印为 http://localhost/info/mystuff.php?tech=w3calculator
我认为这是服务器问题如何解决?