重写匹配的URL

时间:2018-03-27 12:51:29

标签: .htaccess url-rewriting

我试图重写我网站的匹配网址,但由于某种原因它无法正常工作,不知道为什么...... 这是当前网址:

example.com/details.php?p=10&text=some-text-is-here

想写这样的

example.com/post-details/10/some-text-is-here

我的.htaccess就在这里

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s/details\.php\?id=([0-9]+)\s [NC]
RewriteRule ^ /details/%1? [R=301,L]
RewriteRule ^details/([0-9]+)$ /details.php?id=$1 [L]

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

试试这个:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/details\.php\?p=(\d+)&text=(.+)\s [NC]
RewriteRule ^ /post-details/%1/%2? [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.jpg$
RewriteRule ^post-details/(\d+)/(.+)$ /details.php?p=$1&text=$2 [L,NE]

注意:清除浏览器缓存测试