htaccess已剥离;。php“;但需要一个子页面的url查询

htaccess已剥离;。php“;但需要一个子页面的url查询,php,regex,apache,.htaccess,mod-rewrite,Php,Regex,Apache,.htaccess,Mod Rewrite,这是我到目前为止所拥有的 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)$ $1.php?%1 [NC,L,QSA] 所以site.com/page可以用来查看site.com/page.php 我想添加到一个特定页面上,其中有一个查询字符串。。。 示例:s

这是我到目前为止所拥有的

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)$ $1.php?%1 [NC,L,QSA]
所以site.com/page可以用来查看site.com/page.php

我想添加到一个特定页面上,其中有一个查询字符串。。。 示例:site.com/song.php?name=song name->我希望它是site.com/song/song-name


我知道有很多类似的帖子,我已经浏览了很多,但我不太明白如何做到这一点

您需要一个新规则来处理
/song/
URI:

Options -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f    
RewriteRule ^song/(.+)$ song.php?name=$1 [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$ $1.php [L]
我还纠正了您的第二条规则,因为查询字符串已经附加到目标