0

我有带有扩展名的文件,.php我想隐藏它们,并将查询字符串显示为重写的 PHP 扩展名的内部目录。

换句话说,我想https://domain.com/page.php

使用https://domain.com/page/(带有结尾斜杠)和 for

https://domain.com/page/?id=1访问

https://domain.com/page/1/(也有结尾的斜线)

我还想访问带有.php扩展名的页面返回 404 未找到。

我将如何在.htacess文件中执行此操作?

4

2 回答 2

1

HTACCESS 需要看起来像这样:

RewriteEngine On
RewriteRule ^([A-z0-9]+)/$ $1.php
RewriteRule ^([A-z0-9]+)/([1-0]+)/$ $1.php?page=$2

对于您将使用的自定义 404 错误:

ErrorDocument 404 /404/

但是,您需要确保将第一个重写规则应用于 404 页面。您将需要一个404.php文件。

于 2012-07-03T01:48:36.793 回答
0

你可以试试这个mod_rewrite 规则生成器。如果您想自己编写规则,这相当简单:它使用与 PHP preg_* 函数相同的正则表达式 :)

在您的特定情况下,使用RewriteRule ^([A-z0-9]+)/([1-0]+)/$ $1.php?page=$2

于 2012-07-03T01:48:52.543 回答