我正在使用一个index.php使用switch ...
目前我的.htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ index.php?page=$1 [NC,L]
通常我会满足于这个选项,但它最终会在其他东西的冲突中结束,我怎么能在php中将它复制到Apache上。
通过上面的文件格式https://example.com/index.php?page=about
将每个案例转换为https://example.com/about
。
我找不到简单的指导以及如何在PHP中实现这一点,我知道这是可能的。
答案 0 :(得分:0)
这是绝对不可能的。在某些时候,你必须告诉你的网络服务器如何处理请求,它不能自己猜测你正在运行一个PHP脚本。
Web应用程序的最佳做法是将每个请求映射到index.php
(除非文件或目录存在),然后您可以代表您在应用程序中评估和路由请求,例如:这样的事情(来自laravel):
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
您不一定要在.htaccess
中执行此操作,您也可以将其放在vhost配置中,或理论上也放在httpd.conf中。
我无法看到这可能会在任何冲突中结束,也许你可以解释一下你对此的担忧。