Apache2:重写规则不起作用

时间:2017-04-13 23:13:31

标签: php apache .htaccess

我正在努力应对这些重写规则。无论我尝试什么,他们都不会工作。

模块已加载,类似

RewriteRule ^(application) - [F,L]

在这样的事情上完美地运作:

RewriteRule ^board/([A-Za-z0-9]+)\/([^.]+)$ board.php?id=$1

哪个应该使board.php?b = XYZ到board / XYZ

无论我搜索什么,都不适用于我。

2 个答案:

答案 0 :(得分:0)

目前还不清楚当前的行为是什么,虽然匹配b=是错误的查询字符串:

board.php?id=$1

问题是id != b - 它应该是:

board.php?b=$1

所以你可能会这样做:

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

答案 1 :(得分:0)

你的规则没问题,但你使用的正则表达式测试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]