我只是想尝试mod_rewrite并阅读一些关于它的东西。这个重写规则有什么问题?
我对本地主机文件:
board.php?b=123XYZ
而且要归档:
board/123XYZ
这是我到目前为止有:(的.htaccess是可读和根内)
RewriteEngine On
RewriteRule ^board/([A-Za-z0-9-]+)/?$ board.php?b=$1 [NC,L]
但是这不起作用。我不明白为什么作为正则表达式匹配。
我只是想尝试mod_rewrite并阅读一些关于它的东西。这个重写规则有什么问题?
我对本地主机文件:
board.php?b=123XYZ
而且要归档:
board/123XYZ
这是我到目前为止有:(的.htaccess是可读和根内)
RewriteEngine On
RewriteRule ^board/([A-Za-z0-9-]+)/?$ board.php?b=$1 [NC,L]
但是这不起作用。我不明白为什么作为正则表达式匹配。
请试试这个:
RewriteRule ^board\/([aA-zZ0-9-]+)\/?$ board.php?b=$1 [NC,L]
我认为正斜杠需要转义正斜杠。
此工具可帮助与正则表达式测试:
http://regexr.com/
可悲的是,这仍然行不通。 – sarrrrek
尝试本作,
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为目录。
什么是不工作,什么是错误? – anubhava