我只想尝试mod_rewrite并阅读一些有关它的内容。
我在localhost上有这个文件:
board.php?b=123XYZ
想要存档:
board/123XYZ
这是我到目前为止所做的:( .htaccess是可读的并且在根目录中)
RewriteEngine On
RewriteRule ^board/([A-Za-z0-9-]+)/?$ board.php?b=$1 [NC,L]
但这不起作用。我不明白为什么正则表达式匹配。
答案 0 :(得分:0)
请试试这个:
RewriteRule ^board\/([aA-zZ0-9-]+)\/?$ board.php?b=$1 [NC,L]
我认为正向斜线需要向前斜线转义。
此工具有助于正则表达式测试:
http://regexr.com/
答案 1 :(得分: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找不到404,因为Apache假定传入的URL为目录。