0

How to modify URL such www.mysite.com/dir.php?ID=123

to www.mysite.com/dir/123 without using or involving .htaccess

cause I can't access .htaccess on our server.

4

3 回答 3

0

唯一的其他选择是在 Web 服务器软件上使用重写引擎,例如用于Apache的 mod_rewrite 。

但只要您甚至不控制服务器上的文件,您就可能无权访问 Apache 配置。

您的网络应用程序/CMS 也应该支持漂亮的 URL。

于 2013-06-17T06:32:21.247 回答
0

如果这是您自己的应用程序而不是标准框架/CMS,那么您可以在 PHP 中实现自己的重写引擎,这样 URL 看起来像www.mysite.com/index.php/dir/123. 这比干净的 URL 稍差一些,但这是您可以达到的最佳效果。

当您像这样运行 url 时,$_SERVER['PATH_INFO']PHP 变量将存储“ /dir/123”,然后您的工作就是解析和转换为您需要的参数,然后调用或包含正确的脚本。

IIRC Kohana就是这样构建的。所以你可以从他们的代码中寻找灵感。

于 2013-06-17T07:27:55.277 回答
0

短篇小说是:

你不能

至少你应该能够.htaccess正常使用来执行此操作。如果您甚至不能使用它,那么其他选项很可能也会受到限制。

但是您可能(我绝对不确定)可以使用一种解决方法...

您是否可以设置自己的 404 错误页面?

如果是这样,请尝试将 a 设置404page.php为您的入口点,发送 ahttp_response_code(200);并执行它应该进一步执行的操作。

当然,您应该index.php从您的 URL 中删除任何内容,public_html并且不要使用任何应该由处理程序处理的 URL,因此它们会将您带到404page.php.

(让我知道这是否有效:)。)

于 2013-06-17T07:34:13.547 回答