为什么htaccess将任何请求重定向到主页?

时间:2019-01-29 08:03:54

标签: .htaccess

我想使用htaccess重写URL来传递1个参数,例如this问题。在此基础上,我尝试重定向。

我的改写像是this;

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.html?pg=$1 [L,QSA]
</IfModule>

不幸的是,这不起作用,它将所有URL重定向到主页(甚至也不存在)。 您能帮我解决我的错吗?

1 个答案:

答案 0 :(得分:0)

通过对问题的评论,您可以清楚地知道您实际要做什么。

我认为这是您要寻找的,尽管我不太了解将HTTP GET参数传递给html文件的意义。

RewriteEngine on
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^/?([\w]+) /index.html?pg=$1 [END,QSA]

此规则将在http服务器主机配置或动态配置文件(“ .htaccess”)中同样起作用,如果可以访问配置,则绝对应该首选第一个选项。

此外,还必须在HTTP主机中加载并启用重写模块,如果决定使用动态配置文件,则需要确保它位于http主机的DOCUMENT_TOOR中文件夹,对于http服务器进程是可读的。