我有一个personal and professional website,主要有两个目的:
我想从我的网站创建“顶级重定向”到这些关键位置。我这样做的首选方法是创建一系列简单的PHP脚本 - 使用所谓的“酷URI” - 然后将简单的HTTP重定向发送到这些资源的实际位置。
示例:
档案:mail.php
<?php
header('Location: http://www.example.com/webmail');
?>
期望的效果是能够为这些资源提供稳定的URI:虽然实际目的地本身很可能会发生变化,但总是可以从 “酷URI” - 永远不会改变的 - 正如Tim Berners-Lee爵士在其着名文章“ Cool URIs Don’t Change ”中描述的那样。
但是,为了管理/维护我的根目录中的(已经很多)文件,如果有人可以帮我设置相关的指令/规则,我将非常感激。我的Apache服务器,以便我可以在子目录中整齐地包含所有这些PHP重定向脚本,但仍然能够在顶层引用它们。
/ public_html
|
| – / redirects
|
| – admin.php
| – mail.php
| – [etc.]
简而言之,我想知道的是:
如何配置Apache以将/redirects/mail.php
处理的PHP文件视为/mail.php
?
技术限制:
我的网站运行在典型的LAMP架构上。但是,由于我目前正在使用共享主机,因此无法修改httpd.conf
文件 - 我只能将Apache指令应用于.htaccess
个文件。
答案 0 :(得分:3)
如果您实际需要在网站的根目录中接受任何php文件请求并从/ redirects /子目录下拉取,那么可以尝试:
RewriteRule ^ /(。+ \。php)$ / redirects / $ 1 [NC]
答案 1 :(得分:1)
安装了模式重写并启用。
RewriteCond %{REQUEST_URI} /mail.php
RewriteRule (.*) http://youserver/redirects/mail.php