Php Apache2:改写规则赢得';行不通

Php Apache2:改写规则赢得';行不通,php,apache,.htaccess,Php,Apache,.htaccess,我正在认真地与这些重写规则作斗争。不管我怎么做,它们都不起作用 模块已加载,类似于这样 RewriteRule ^(application) - [F,L] 在以下情况下工作正常: RewriteRule ^board/([A-Za-z0-9]+)\/([^.]+)$ board.php?id=$1 哪个应该是board.php?b=XYZ到board/XYZ 无论我搜索什么,都不会对我起作用。不清楚当前的行为是什么,尽管匹配的查询字符串是错误的b=: board.php?id=$1 问题

我正在认真地与这些重写规则作斗争。不管我怎么做,它们都不起作用

模块已加载,类似于这样

RewriteRule ^(application) - [F,L]
在以下情况下工作正常:

RewriteRule ^board/([A-Za-z0-9]+)\/([^.]+)$ board.php?id=$1
哪个应该是board.php?b=XYZ到board/XYZ


无论我搜索什么,都不会对我起作用。

不清楚当前的行为是什么,尽管匹配的查询字符串是错误的
b=

board.php?id=$1
问题是
id!=b
-它应该是:

board.php?b=$1
所以你可以:

RewriteEngine On
RewriteRule ^([^/]*)$ /?b=$1 [L]

您的规则很好,但是您使用的正则表达式模式测试uri是错误的

如果要将/board/XYZ重写为/board.php?b=XYZ可以在root/.htaccess中使用以下规则

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^board/(.+)$ /board.php?b=$1 [L,NC]