这是我的.htaccess文件看起来像
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^home$ index.php [NC,L]
RewriteRule ^detail$ detail.php [NC,L]
RewriteRule ^detail/([0-9a-zA-Z]+)$ detail.php?id=$1 [NC,L]
答案 0 :(得分:0)
您正在谈论使用.htaccess在内部重写您的网址并将其适当地发送到您的应用程序。
您应该尝试使用这个特定的.htaccess示例来完成您正在寻找的内容:
RewriteEngine On
# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /detail(?:\.php)?\?id=([^\s&]+) [NC]
RewriteRule ^ detail/%1? [R=302,L,NE]
# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^detail/([^/]+)/?$ detail.php?id=$1
编辑:
答案 1 :(得分:0)
你在htaccess中正好相反,将detail / 4重定向到detail.php?id = 4。在你的问题中,你说?id = 4到/ 4。
交换,编辑和测试