0

如何使用 php 脚本归档永久链接 url?我的意思是像 wordpress 这样的帖子

url: www.example.com/year/entry 

$year = ...
$entry = ...

没有创建实际的文件夹......我不想使用 .htacess 因为我认为 Wordpress 也不使用它。

正常行为将是 404 错误,因为该文件夹不存在。

4

3 回答 3

2

在 Apache 中使用 mod rewrite(不同的服务器将允许不同的重写机制)。

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

大多数情况下,重写是使用正则表达式完成的。这是一个示例(我将在之后解释它的作用),您将其放入站点根目录中的 .htaccess 文件中,即:http ://website.com/

RewriteEngine on
RewriteRule ^js/main.js$ /scripts/main.php [L]

这将允许您在浏览器中输入以下内容:http://website.com/main.js但该文件实际上将位于服务器上http://website.com/scripts/main.php和文件为了更好的安全性,可以位于公共目录之外。

另一个例子,但这次使用了更多的正则表达式

RewriteEngine on
RewriteRule ^js/([0-9a-f]+).js$ /scripts/main.php [L]

允许所有这些转到同一个文件:

将全部加载http://website.com/scripts/main.php

PS [L] 向服务器表明这是最后一次重写,不需要继续寻找匹配项。

于 2012-11-28T17:31:10.630 回答
1

当请求某个 url 时,您可以使用 Zend Router 告诉您的应用程序去哪里。您不必创建文件夹,只需将路径匹配到正确的控制器/操作。

Zend 路由器文档

对于 WordPress,您可以简单地使用插件。这应该是相当直截了当的。看看这个插件

于 2012-11-28T17:20:08.620 回答
0

Wordpress 确实使用了 mod-rewrite 和 .htaccess,否则您会在页面链接中看到 index.php。

您也可以这样做,使用 mod-rewrite 并制作一个 php 文件来处理请求的路径。

于 2012-11-28T17:22:30.483 回答