我已经使用路由系统在 PHP 中开发了一个应用程序,.htaccess
直到今天,我已经成功地将这个应用程序部署在任何服务器环境中,没有任何问题。
今天,我的一个客户要求我将应用程序部署到尚未关联任何域的服务器上,因此,他提供了 IP 地址让我测试一切是否正常。问题是这个 IP 要求 URL 中存在用户名参数,这导致执行总是被重定向到服务器默认的 404 错误页面。
IP 是这样的(某些值已更改):
http://192.185.65.31/~gef/
如果我只执行该链接而没有任何其他参数,我可以访问serverindex.php
配置为 my DirectoryIndex
in 的文件.htaccess
。但是,如果我尝试添加更多参数,例如语言 ( en/
),我会自动重定向到 404 页面。
我的.htaccess
路由配置如下:
DirectoryIndex serverindex.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . serverindex.php
此配置始终允许我接收和操作 URL,如下例所示:
Example: http://example.com/param1/param2/param3
Array
(
[0] => param1
[1] => param2
[2] => param3
)
如何设置.htaccess
以便我在 URL 中保持用户名不变(以便服务器可以处理它并记录正确的用户帐户),并将以下数据作为参数传递给应用程序?
Example: http://example.com/~username/p1/p2/p3
Array
(
[0] => p1
[1] => p2
[2] => p3
)