php - 如何使用 .htaccess 重写 URL 而不会影响 $_GET 数据

标签 php .htaccess url mod-rewrite get

我想用一些 $_GET 数据更改我的 URL,例如:

http://www.website.com/articles.php?article=article_title_stored_in_database
http://www.website.com/simple_page.php?page=page_title_stored_in_database

让它们看起来像这样:

http://www.website.com/articles/article_title_stored_in_database/
http://www.website.com/pages/page_title_stored_in_database/

另一个问题:如果我更改了包含 $_GET 数据的 URL,更改后是否可以访问它们?所以如果地址是:

http://www.website.com/articles/article_title_stored_in_database/

变量 $_GET['article'] 会返回 'article_title_stored_in_database' 吗? 谢谢。

最佳答案

您可以在您的 DOCUMENT_ROOT/.htaccess 文件中使用这些规则:

Options -MultiViews
RewriteEngine On

RewriteRule ^articles/([^/]+)/?$ articles.php?article=$1 [L,QSA,NC]

RewriteRule ^pages/([^/]+)/?$ simple_page.php?article=$1 [L,QSA,NC]

关于php - 如何使用 .htaccess 重写 URL 而不会影响 $_GET 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35548427/

相关文章:

php - 自动增量字段为零的播种表

php - 如何在 Laravel 中验证最大文件大小?

apache - CodeIgniter htaccess 子文件夹问题

url - Chrome 浏览器不喜欢没有 http ://? 的 *.loc 域

php - 使用 php 将多个文件下载为 zip 文件

php - 如何压缩文件夹并使用php下载它?

php - Cakephp 403错误不显示自定义页面

php - 禁止直接访问某个页面

c# - 在不更改 url 的情况下显示自定义页面

html - 绕过 mailto/href/url 字符限制