到目前为止,我在 index.php 中包含了所有内容:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]
还有一些页面我是这样使用 $_GET 的:
SELECT * FROM news WHERE id = ".intval($_GET['id'])
如果我想查看新闻,我输入 news?id=1
而不是 ?page=news&id=1
但我希望能够使用 news/1
。
我是否必须为使用 GET 的每个页面添加重写规则?或者有更好的方法吗?
我希望我不必为我的所有页面都这样做。
最佳答案
RewriteRule ^([^/]*)/?([^/]*)$ index.php?page=$1&id=$2 [QSA,L]
应该允许您的页面输入为 www.example.com/page/id
您的大部分页面在内部看起来都像 www.example.com/index.php?page=text&id=
但这应该不会影响任何东西。
关于apache - 如何为我的网站制作友好的网址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/496354/