如何隐藏从url获取变量名

我已经将 htaccess 用于这样的事情

domain.com/bacaberita.php -> domain.com/baca-berita

我需要像这样传递get variable

domain.com/bacaberita.php?id=xy0001

如何隐藏变量 id 以便 url 成为domain.com/baca-berita/xyz0001

我正在使用 htacces 代码

RewriteRule ^baca-berita bacaberita.php
RewriteRule ^baca-berita/(.*) bacaberita.php?id=$1

但它抛出 id 为空

我只尝试过这段代码

RewriteRule ^baca-berita/(.*) bacaberita.php?id=$1

它可以工作,但不能在页面中调用 css 和所有图像文件


慕雪6442864
浏览 142回答 1
1回答

慕婉清6462132

您想在重写规则之前放置一些重写条件以忽略这些资产文件。RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_URI} !/assetsRewriteRule ^baca-berita/(.*) bacaberita.php?id=$1这告诉服务器检查文件或目录是否存在,如果在这些目录中,则在重写时忽略它们。更新您还想确保您的内部资产bacaberita.php是从站点的根目录链接的,而不是相对链接。您可以通过确保始终/在开头使用 a 来做到这一点:<!-- incorrect: looks for styles in domain.com/bacaberita/assets --><link rel="stylesheet" type="text/css" href="assets/css/styles.css"><!-- correct: looks for styles in domain.com/assets --><link rel="stylesheet" type="text/css" href="/assets/css/styles.css">
打开App,查看更多内容
随时随地看视频慕课网APP