【发布时间】:2025-12-24 19:05:13
【问题描述】:
我制作了一个内置 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 错误。
【问题讨论】:
标签: php .htaccess templating