我正在编写一个小型CMS,以更好地了解它们的工作方式并学习有关PHP的一些新知识。但是,我遇到了一个问题。
我想使用mod_rewrite(尽管如果有人有更好的解决方案,我会尝试使用它)来生成漂亮的干净URL,所以site.com/index.php?page=2可以改为site.com/tools
据我了解,每次添加新页面时,我都需要更改.htaccess文件,这是我遇到问题的地方,我的PHP不断告诉我,我无法更新它,因为它没有权限。简短的chmod显示,即使拥有777权限也无法做到,我是否缺少某些东西?
我的mod_rewrite指令源当前在此页面,以防它很重要/有用。
一种方法是将所有内容重写为处理脚本
RewriteEngine on RewriteBase / # only rewrite if the requested file doesn't exist RewriteCond %{REQUEST_FILENAME} !-s # pass the rest of the request into index.php to handle RewriteRule ^(.*)$ /index.php/$1 [L]
因此,如果您有请求http:// yourserver / foo / bar /
您实际上得到的是对http://yourserver/index.php/foo/bar的请求- 您可以离开index.php来决定如何处理/ foo / bar(使用$ _SERVER [‘PATH_INFO’]- tom)
您只需要在第一次修改.htaccess。以后所有对不存在文件的请求都可以用PHP处理。
您可能还会发现mod_rewrite的文档很有用- 但保持简单或准备浪费大量的睡眠和头发来查找晦涩的错误。