从简单的事情开始:
RewriteRule ^(.*)$ index.php?page=$1
如果我还想实现以下功能该怎么办:
RewriteRule ^/foo$ /index.php?page=foo #/foo IS a directory
这似乎只有在设置了 R 标志的情况下才有效,但随后会写入完整的非漂亮 URL。因此,似乎我可以重定向现有目录,但不能重写它们……也许在目录本身内使用 .htaccess?或者在 /foo/index.php 中使用一些 PHP 魔法,如 header(/index.php?page=foo)?它会起作用吗?它会符合 HTTP 标准/搜索引擎优化吗?
请帮忙!
附言:我想到了一个最奇怪的想法:将 /foo 重定向到 /not-a-dir,然后将 /not-a-dir 重写为 /index.php?p=foo 理论上应该可行……但是……拜托……真的吗?!?