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

时间:2013-10-25 07:31:42

标签: php wordpress .htaccess mod-rewrite

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

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

更改为

short/url.php

我希望我能得到很好的答案THX家伙:)

4 个答案:

答案 0 :(得分:2)

是的,主要用于框架

使用前端控制器调用的方法

ex:您的前端控制器是index.php

您的网页链接是以... / index.php / nything / url.php

的方式生成的

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

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

了解详情:http://en.wikipedia.org/wiki/Front_Controller_pattern

答案 1 :(得分:1)

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

this SO post describes it

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

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

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

答案 2 :(得分:0)

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

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"));

答案 3 :(得分:0)

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

一般来说,重写网址的最佳方式(我认为)是将所有内容重写为一个文件,让我们说index.php,然后根据网址“重定向”到特定文件。您可以在网上阅读PHP中的“URL路由”。