我正在编写一个小型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的文档很有用 - 但要保持简单或准备丢失大量的睡眠和头发追踪晦涩的错误.