apache - 如何为我的网站制作友好的网址?

标签 apache mod-rewrite

到目前为止,我在 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/

相关文章:

node.js - 在 Apache 服务器上首选使用 Node.js 的 'www' 子域

PHP代码没有被执行,但是代码显示在浏览器源代码中

php - 如何安装供所有用户全局使用的 Python 包(包括 www-data)

wordpress - 使用 .htaccess 设置 Web 服务器处理某些文件类型的 404 错误(ErrorDocument 404 + 重写规则)

php - .htaccess,双重重定向评估 uri

mod-rewrite - 为 SEO 重写单页模组

mod-rewrite - SEO 友好 URL 问题

eclipse - Apache Tomcat 启动错误

regex - 使用 Apache 的 LocationMatch 规则

.htaccess - Mediawiki 的缩略图处理程序(重写)不起作用