我的任务是将旧网站迁移到新的托管人,同时在此放置新网站。仍然可以使用archive.domain.tld
来访问旧的旧站点。旧站点上的链接看起来像这样:/foo/bar/baz.php
或/foo/bar/baz.html
,但是也有很多链接看起来像/foo/bar/baz
。它似乎表明旧的提供程序在其apache配置中具有某种规则,首先查看是否存在资源,如果不存在,则在添加.php
时查看该资源是否存在,如果不存在,则该资源是否存在。如果添加.html
,则存在。
我想要存档的是相同的行为。
要求https://archive.domain.tld/foo/bar/baz
我知道,我可以像Symfony一样将所有流量重写为单个.php
文件,但是如何使用.htaccess
文件实现此“路由”
答案 0 :(得分:1)
您可以在Apache配置或根.htaccess中使用以下规则:
RewriteEngine On
# skip all files and directories from rewrite rules below
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
# .php extension
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
# .html extension
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+?)/?$ $1.html [L]