htaccess RewriteRule http:///domain/folder/(任何搜索字符串)重定向到 http:///domain/folder/index.php?option=$1

htacess RewriteRule http://domain/folder/(any searchstring) to redirect to http://domain/folder/index.php?option=$1

我正在尝试在我的 Apache .htaccess 文件中创建一个重写规则,目标是: http:///domain/folder/(任何搜索字符串)重定向到 http://domain/folder/index.php?option=$1 例子: http:///domain/folder/covid 重定向到 http:///domain/folder/index.php?option=covid

我在 http:///domain/folder 的 htacess 中得到了这个设置,但不知何故它不起作用:

RewriteEngine On
RewriteRule ^([^/folder]+)/([^/]+)$ http://domain/folder/index.php?option= [L]

该网站位于 http:///domain/folder

有人可以帮我解决这个问题吗?

您可以拥有如下所示的 htaccess 文件。请将您的 htaccess 文件与您的文件夹(名为 folder)放在一起,而不是在文件夹内。

请确保在测试您的网址之前清除浏览器缓存。

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php?option= [L]


或者如果您的 htaccess 存在于文件夹 folder 中,请尝试以下操作。

RewriteEngine ON
RewriteBase /folder/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php?option= [L]

您可以在 folder/:

中尝试这个 .htaccess
RewriteEngine On

RewriteRule ^index\.html?$ index.php [L,NC]

RewriteRule ^index\.php$ - [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .+ index.php?option=[=10=] [L,QSA]