我目前希望我的网站从
重写.com/page/1234
到
.com/?view=page&id=1234
继承我的.htaccess内容:
RewriteBase /
RewriteRule ^/page/([0-9]+)$ /index.php?view=page&id=$1
ErrorDocument 404 errors/404.html
当我输入“.com / page / 1”时,我的网站只会重定向到404页面。 我做错了什么?我尝试过最简单的方法:
RewriteRule ^/page$ /about.php
但它也不起作用。所以我怀疑000webhost(我现在的主持人)不支持RewriteRule,尽管他们表示支持它。
答案 0 :(得分:1)
从个人经验来看,我知道他们支持RewriteRule
,但测试它们有点可怕。在“per-directory”-context中,目录的斜杠被附加到url的“prefix”部分。 .htaccess
始终与“per-directory”-context一样。因此RewriteRule
中以斜杠开头的.htaccess
将永远不会匹配任何内容。
如果您将.htaccess
更改为以下内容,则所有内容都应按预期运行:
RewriteBase /
RewriteRule ^page/([0-9]+)$ /index.php?view=page&id=$1
ErrorDocument 404 errors/404.html
我建议您为mod_rewrite
阅读the documentation。它包含许多有用的信息。