重写规则不起作用


RewriteRule not working

我正在尝试使用.htaccess创建友好的URL。我已经检查过,如果我在我的 .htaccess 上拒绝所有人,它不会加载证明 .htaccess 正常工作的网页。

我还验证了使用 phpinfo 在 php 上加载了 mod-rewrite 模块问题是当我访问 url 时 http://128.199.62.16/web/grupo/asd/123 它说找不到,当我尝试使用 http://128.199.62.16/web/grupo/index.php?id=asd&description=123 时它按预期工作

在这里你可以找到我的.htaccess文件内容

RewriteEngine on
RewriteRule ^web/grupo/([^/]*)/([^/]*)/$ web/grupo/index.php?id=$1&descripcion=$2
Options -Indexes
ServerSignature Off

你能帮我:D吗

创建一个

/var/www/html/web/grupo/.htaccess文件,如果它不存在,则使用此规则:

RewriteEngine on
RewriteBase /web/grupo/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?id=$1&descripcion=$2 [L,QSA]

您的输入 URL 没有尾部斜杠,但您的规则需要一个斜杠。
我建议在尾部斜杠后加上一个问号,以表明它是可选的。
另外,我建议使用+而不是*来表示"一个或多个"而不是"零或多个"。

RewriteRule ^web/grupo/([^/]+)/([^/]+)/?$ web/grupo/index.php?id=$1&descripcion=$2

有关进一步参考,请参阅:
尾部斜杠可选