1
RewriteRule page/([0-9]+)$ page.php?id=$1

它可以工作,但包含的链接(如 css 或 js)不起作用。page/被视为一个文件夹,因此<link rel="stylesheet" type="text/css" media="screen" href="css/default.css" />找不到链接(例如:)。

另一个例子:如果“id”不存在我这样做ErrorDocument 403 /notfound.php,但你被重定向到domain.com/page/notfound.php。我该如何解决这个问题?

4

1 回答 1

2

试试这个:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule page/([0-9]+)$ page.php?id=$1

仅当请求的文件或目录不存在时才会重定向。

关于mod_rewrite 的更多信息在这里

编辑 :

至于您找不到资源的问题,您必须将基本标签添加到您的 html 页面中的 head 部分:

<base href="/">

有关基本标签的更多信息,请点击此处

于 2012-08-17T16:12:47.923 回答