gpt4 book ai didi

友好 URL 的 PHP 路由帮助

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:37:05 26 4
gpt4 key购买 nike

我正在构建一个通过 index.php 运行所有代码的网站。

例如 index.php?controller=something&id=01234

我想使用 PHP 创建友好的 URL,所以我这样做:

$request = str_replace('/root/', '', $_SERVER['REQUEST_URI']);
$params = explode('/', $request);

$controllers = array('first_c', 'second_c', 'third_c');

if (in_array($params[0], $controllers)) {
include($params[0]); // just to give an example
}

然后使用 mod_rewrite 规则 RewriteRule ^.*$ ./index.php 我将所有内容重定向到 index.php。

我对此有一些问题:因为所有内容都发送到 index.php,包括 .css、.js 和图像文件。所以除了 php 生成的 html 之外,没有任何东西可以正常工作。我在这方面遇到了很大的麻烦,因为我对所有内容都尝试了 mod_rewrite(而不是 PHP),但我无法让它工作……请参阅:Apaches mod_rewrite VS. PHP routing?

谢谢。

最佳答案

简单地改进你的 mod 重写:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>

特别添加行 RewriteCond %{REQUEST_FILENAME} !-f

如果你想要更多的部分:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule admin/.*$ admin.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>

关于友好 URL 的 PHP 路由帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3076122/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com