如果您在使用Apache/Linux .htaccess rewrite时遇到问题,可能是因为您的配置存在错误。下面是一种可能的解决方案,您可以尝试使用该方案进行修复。
代码示例:
RewriteEngine On
RewriteRule ^page/([0-9]+)/?$ index.php?page=$1 [L,QSA] RewriteRule ^post/([0-9]+)/?$ index.php?post=$1 [L,QSA]
Options -Indexes
在以上代码示例中:
RewriteEngine On - 对 .htaccess 文件的 mod_rewrite 标志进行了设置,表明启用了 URL 重写模块。
RewriteRule ^page/([0-9]+)/?$ index.php?page=$1 [L,QSA] - 将所有类似于http://example.com/page/{number}的请求重写为http://example.com/index.php?page={number},其中 {number} 是一个数字。
RewriteRule ^post/([0-9]+)/?$ index.php?post=$1 [L,QSA] - 将所有类似于http://example.com/post/{number}的请求重写为http://example.com/index.php?post={number},其中 {number} 是一个数字。
Options -Indexes - 防止 Apache 在目录中显示文件列表。
如果您的配置中仍然存在问题,请检查是否启用了 mod_rewrite 模块并确保正确设置 .htaccess 文件的权限。