我有一个名为www.example.com/print?id=adder
的网址
我希望它看起来像www.example.com/print/adder
我正在使用以下.htacces代码
RewriteEngine on
# redirect all requests except only POST
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.(?:php?)[\s?/] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
RewriteRule ^print/([a-z]+) print.php?id=$1 [NC,L]
但是,我的网址是www.example.com/print?id=adder
。
我正在使用wamp 3.0.6(Latest Version)
,PHP 7.0,10
& Apache 2.4.23
。我为什么要面对这个问题。为什么代码没有工作?
答案 0 :(得分:1)
要将您的网址重定向到更干净的版本,请将其置于上一个RewriteRule
之上RewriteCond %{THE_REQUEST} /print/?(?:\.php)?\?id=([^\s&]+)
RewriteRule ^ /print/%1? [L,R]