我有扩展名为.php
的文件,我想隐藏它们,并将查询字符串显示为重写的PHP扩展的内部目录。
换句话说,我想https://domain.com/page.php
https://domain.com/page/
(带有结尾斜杠)和访问使用
访问 https://domain.com/page/?id=1
https://domain.com/page/1/
(也有结尾斜线)
我还想访问带有.php
扩展名的网页,返回404找不到。
我如何在.htacess
文件中执行此操作?
答案 0 :(得分: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
文件。
答案 1 :(得分:0)
你可以尝试这个mod_rewrite rule generator。如果你想自己编写规则,那就相当简单:它使用与PHP preg_ *函数相同的正则表达式:)
在您的特定实例中,使用RewriteRule ^([A-z0-9]+)/([1-0]+)/$ $1.php?page=$2