是否可以在没有 htaccess 文件的情况下重写 URL


Is it possible to REWRITE a URL without htaccess file?

是否可以在不使用htaccess文件的情况下缩短网址?例如,我有这个网址。

this/is/a/very/long/url.php

更改为

short/url.php

我希望我能得到很好的答案,谢谢伙计们:)

是的,主要用于框架

一种称为使用前端控制器的方法

例如:您的前端控制器是索引.php

您的页面链接以.../index.php/nything/URL的方式生成.php

但实际链接是.../this/is/long/url.php

前端控制器提取客户端请求的页面信息,并显示与之相关的相关页面

阅读更多 : http://en.wikipedia.org/wiki/Front_Controller_pattern

这是一个很好的问题,有多种选择,但是.htaccess文件可能是您最好的选择。

这篇文章描述了它

处理 url 重写服务器端是这里的关键,因为它的执行速度要快得多,并且在某些 URL 上使用时不会破坏您的脚本。

所以 www.yourdomain.com/test/4/twenty/long/url/could/be/shorter/

www.yourdomain.com 后的所有参数都可以通过各种PHP方法检索,包括阅读PHP的$_SERVER将是一个好主意,因为该全局数组中放置了许多变量。

mod_rewrite是Apache的一部分,因此需要在Apache配置中进行配置。 .htaccess实际上是Apache"实时"配置"每个目录"。

一般来说,重写

url 的最佳方法(我认为)是将所有内容重写到一个文件,比如说index.php,然后根据 URL "重定向"到特定文件。你可以在网络上阅读很多关于PHP中的"URL路由"的信息。

您可以在 Javascript 中使用此代码重写当前 URL:

if (location.href.indexOf("this/is/a/very/long/url.php") > -1)
  location.assign(location.href.replace(/this'/is'/a'/very'/long'/(url'.php)/, "short/$1"));
相关文章: