其实我不知道正则表达式等,我想用.htacess重写URL。我有以下网址
http://www.example.com/post.php?post_id=114&post_txt=this-should-not-happen-again
我想像这样重写它
http://www.example.com/114/this-should-not-happen-again
我应该在.htaccess文件中写什么来实现我的目标?
答案 0 :(得分:1)
尝试一下:
它查找数字,斜杠,任意字符。它会在$1
中插入数字,在$2
中插入任意字符。
RewriteEngine On
RewriteRule ^(\d+)/(.+)$ /post.php?post_id=$1&post_txt=$2 [NC,L]
答案 1 :(得分:0)
通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在.htaccess
目录下的DOCUMENT_ROOT
中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/?$ /post.php?post_id=$1&post_txt=$2 [L,QSA]
答案 2 :(得分:0)
RewriteEngine on
RewriteRule ^/post.php?post_id=(\d+)&post_txt=(.*)$ http://www.example.com/$1/$2 [R=301,L]
此外,超级用户here
上存在一个非常类似的问题