将静态网站映射到新的URL,但使用相同的文件


map static website to new URL but use the same files?

我有一个静态网站,假设它的URL是:

http://website.com

及其文件路径

/path/to/website/

我想从这个目录中提供相同的文件/文件夹到一个新目录,并在其文件<head>;

的末尾添加一个css文件

因此,为了在新样式中显示它,我希望它的url是这样的:

http://website.com/new-style/1/
http://website.com/new-style/2/
http://website.com/new-style/3/
....

和它的html/css/js文件从原始目录:

/path/to/website/
+
/path/to/website/new-style/1/style.css
                 ^--------------------
/path/to/website/new-style/2/style.css
/path/to/website/new-style/3/style.css

我该怎么做呢?

需要在服务器端重写吗?

我可以使用PHP和Apache作为web服务器

使用PHP文件代替HTML

//index.php
<html>
<link rel="stylesheet" type="text/css" href="css/style<?php print $_GET['style'];?>">
...
</head>
<body>
...

然后在。htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /path/to/website/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^new-style/([0-9]+)/(.*)'.html$ /$2'.php?style=$1 [QSA,L]
</IfModule>

最后一行将html扩展重命名为PHP

EDIT(因为它可能不是很清楚):最后一行并没有真正地重命名地址中的html页面,它只是解释为PHP。