通过一个脚本使用apache服务域下的所有路径

时间:2009-02-16 01:07:42

标签: apache url path

我通过linux / apache服务器上的托管公司[1]托管一个网站。到目前为止,我通过一个带参数的脚本提供不同的内容。一个示例网址是

www.mydomain.com/pages.php?date=1-10-2008

现在我想将url组成的方案改为看起来完全像路径url的东西。例如:

www.mydomain.com/pages/date/2008/20/1

为此我需要关闭apache中目录文件夹的url路径的正常映射:对所有路径的所有请求都应该转到一个中心脚本(pages.php),而不是分析网址的路径组件。

我如何为此调整apache?我希望有一些.htaccess规则可以解决问题。

[1]顺便说一下,托管公司是godaddy.com

3 个答案:

答案 0 :(得分:3)

类似的东西:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteCond %{REQUEST_FILENAME} ! -d
RewriteRule . pages.php

应该重写对pages.php不存在的文件或目录的每个请求。这将允许您将静态文件(图像,样式表等)保存在同一文档根目录中。

(从WordPress无耻地偷走:))

答案 1 :(得分:1)

您正在寻找mod_rewrite。示例htaccess文件:

RewriteEngine On
RewriteBase /
RewriteRule ^pages/([^/]*)/(.*)$ pages.php?$1=$2

答案 2 :(得分:0)

您应该能够使用Apache的ModRewrite模块处理上面的特定示例,而不是解析脚本中的url。

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

您可以在.htaccess文件中使用这些内容,假设您的主机允许此操作。