我制作了一个内置 TPL 系统的 PHP 框架。它获取 url 的结尾,并找到包含该字符串的文件。因此,如果 url 是http://website.com/tagHere
Tpl 系统将查找名为tagHere.php
. 一切正常,但我现在正在尝试扩展框架以具有内置的后端面板。我尝试了多种方法,但它只是拒绝工作。
我决定看一下 Wordpress 的 htaccess,因为它们正是我想要完成的。这是他们的 htaccess 的工作原理。
他们检查请求的文件名是否是文件。如果它不是一个文件,那么他们检查它是否是一个文件夹。如果它不是文件夹,它们会重定向到 index.php。我想让它检查它是否是一个文件/文件夹,如果它不是从 URL 中删除 .php 标记,那么 TPL 系统可以获取指定的文件并返回它。
这是我原来的 .htaccess 文件。
RewriteRule ^(|/)$ index.php?url=$1
RewriteRule ^([a-zA-Z0-9_-]+)(|/)$ index.php?url=$1`
这是 Wordpress 的原始 .htaccess 文件。
<ifmodule mod_rewrite.c="">
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</ifmodule>
这是我的尝试:
<ifmodule mod_rewrite.c="">
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^(|/)$ index.php?url=$1
RewriteRule ^([a-zA-Z0-9_-]+)(|/)$ index.php?url=$1
</ifmodule>
当我尝试上述 htaccess 时,它返回 404 错误。