htaccess,代码不起作用

htaccess, a code doesn't work

我的 htaccess 代码有问题。我处理了几天,但无法修复它。

站点 post url: /index.php?a=post&m=37

我想要的:/post/37

我的 htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?a=page&b= [L]
RewriteRule ^(.*)$ /index.php?a=post&m= [L]

这是有效的:RewriteRule ^(.*)$ /index.php?a=page&b= [L]

但是当我把这个:RewriteRule ^(.*)$ /index.php?a=post&m= [L] 我在站点的所有页面中得到 "Internal Server Error"。解决办法是什么? :|

相同的模式 (.*) 无法路由到 2 个不同的目标。

你可能是这个意思:

RewriteEngine on

# skip all files and directories from rewrite rules below
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^post/(\d+)/?$ /index.php?a=post&m= [L,QSA]

RewriteRule ^(.*)$ index.php?a=page&b= [L,QSA]