我通过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。
答案 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文件中使用这些内容,假设您的主机允许此操作。