2

我在网上看到了一些例子,在 stackoverflow 上也看到了一些答案。我还没有找到任何适合我需要的东西。首先让我说我对 .htaccess 的经验很少,我正在通过在线阅读教程和示例对其进行更多研究。

希望有人可以解释我在这里做错了什么......我不希望文件发送重定向标头,而是使用另一个 URL 掩盖他们要去的 URL(如果它不存在)。

例子:

我转到不存在的页面(例如 404):

http://example.com/hello-everyone

而不是显示 404,我宁愿它显示来自的内容

http://example.com/?/hello-everyone

注意*我不想要重定向标头,因为我不希望人们必须看到 ?/ 前缀。

谢谢!

4

1 回答 1

3

你可以试试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  /([^/]+)/?$  [NC]
RewriteRule .*   index.php?key=%1  [L]

静默地图

http://www.mywebsite.com/val

http://www.mywebsite.com/index.php?key=val

任何固定键名在哪里key,“val”是传入 URL 中的变量值。

/val必须是传入 URL 中的最后一个字符串,规则才能起作用。

对于永久和可见的重定向,替换[L][R=301,L]

使用这种类型的传入 URLhttp://www.mywebsite.com/val可能会让您在未来停止使用目前使用的更难记住的 URL http://www.mywebsite.com/?/val

于 2013-02-04T16:32:19.020 回答