2017-04-13 143 views
-1

我只是想尝试mod_rewrite并阅读一些关于它的东西。这个重写规则有什么问题?

我对本地主机文件:

board.php?b=123XYZ 

而且要归档:

board/123XYZ 

这是我到目前为止有:(的.htaccess是可读和根内)

RewriteEngine On 
RewriteRule ^board/([A-Za-z0-9-]+)/?$ board.php?b=$1 [NC,L] 

但是这不起作用。我不明白为什么作为正则表达式匹配。

+0

什么是不工作,什么是错误? – anubhava

回答

0

请试试这个:

RewriteRule ^board\/([aA-zZ0-9-]+)\/?$ board.php?b=$1 [NC,L] 

我认为正斜杠需要转义正斜杠。

此工具可帮助与正则表达式测试:

http://regexr.com/ 
+0

可悲的是,这仍然行不通。 – sarrrrek

0

尝试本作,

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

你可能会得到所谓404没有发现因为Apache是​​假设传入URL为目录。