如何正确实现Apache重写规则?

时间:2017-06-24 08:29:52

标签: php apache .htaccess mod-rewrite

以下是我在

中放置的.htaccess文件中编写的重写规则代码
  

β1的

文件夹中。

Options +FollowSymlinks
RewriteEngine on
RewriteBase /beta1/
RewriteRule /(.*) read.php?post=$1 [R,NC]

目前网址为:

  

http://localhost/beta1/read.php?post=Happy+Mother+Day

我希望链接显示为:

  

http://localhost/beta1/Happy-Mother-Day

我还需要改变“read.php”从数据库中提取数据的方式吗?如果是,那怎么样? 我是否还需要对“read.php”文件进行任何更改?

上面的重写代码无效。

1 个答案:

答案 0 :(得分:0)

嘿,请试试这条规则

 RewriteEngine On    # Turn on the rewriting engine

 RewriteRule    ^([A-Za-z0-9-_]+)?$    read.php?post=$1    [NC,L]  

和read.php文件

  echo str_replace('-',' ', $_GET['post']);