WordPress uses extensions, it's disguised by the permalink feature, but there are extensions. Note the backend links often have extensions AND url parameters. WP translates permalinks like example.com/post-title-slug/ internally to a normal url like sample.com/index.php?p=344 where 344 is the post ID of the post known as "post-title-slug".
If your detail_page.php is a file that actually exists in the server filesystem, passing parameters as you show will work. If it's really a WP "page" that is a special type of post and does not exist in the filesystem, you can append url parameters to the permalink and the template code can retrieve the parameters as usual with $_GET, for example: sample.com/detail-page/?value1=somevalue&value2=somevalue
Even if you omit the trailing slash before the parameter separator (?), the rewrite system should add it back in, provided /detail-page/ is a legitimate permalink for your page.
Are you sure you don't have some syntax error preventing the url parameters from working? Because they should work.