用更多的解释重申 jtheman 所说的话:
使用以下内容创建一个名为 .htaccess 的文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ page.php?businessname=$1 [L]
当然,您需要启用目录级别 .htaccess 的能力 - 您使用的是 VPS,因此如果尚未启用,您应该能够执行此操作。
所以让我解释一下每一行的作用。
RewriteEngine on
打开 URL 重写功能
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
告诉 Apache 不要重定向目录中已经存在的文件
RewriteRule ^(.*)$ page.php?businessname=$1 [L]
这就是魔法发生的地方。
^(.*)$
这部分就像一个正则表达式匹配。它将告诉 Apache 收集其中包含任何字符的任何 URL,并将它们重定向到 page.php?businessname=(.*)
因此,如果您发布:
www.website.com/stackover
它真的会发送:www.website.com/page.php?businessname=stackover
然后你可以只使用$_GET[businessname]
动态更新页面。
希望这可以帮助!