.htaccess Url重写在我的网站上不起作用

.htaccess Url重写在我的网站上不起作用,.htaccess,url-rewriting,.htaccess,Url Rewriting,例如,我有一个吉他和弦的子域。 我想把这个网址改写成, 我尝试使用以下代码,但我的url没有重写 Options +FollowSymLinks RewriteEngine On RewriteRule ^song/([^/]*)/$ /?song=$1 [L] url没有重写。我错过什么了吗?请帮助尝试以下规则: Options +FollowSymLinks RewriteEngine On # external redirect from actual URL to pretty on

例如,我有一个吉他和弦的子域。 我想把这个网址改写成, 我尝试使用以下代码,但我的url没有重写

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^song/([^/]*)/$ /?song=$1 [L]
url没有重写。我错过什么了吗?请帮助

尝试以下规则:

Options +FollowSymLinks
RewriteEngine On

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/\?(song)=([^\s&]+) [NC]
RewriteRule ^ /$1/$2? [R=301,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^song/([^/]+)/$ /?song=$1 [L,QSA,NE]

首先,您提供的模式:

^song/([^/]*)/$ 
与您尝试匹配的字符串不匹配:

song/Bistarai+Bistarai 
所以,下一次,在继续之前,确保你的模式有效将有所帮助

假设我完全理解您想要做什么,这应该是可行的(重定向目标文件上的php扩展只是一个示例,请使用您真正的目标文件):

正如我提到的,我在上面的例子中使用了一个php脚本;如果我理解您试图重定向到的索引页,您应该知道您应该

index.php?song=$1 
而不是

/?song=$1 

作为重定向目标表达式。

感谢您的回复,但很抱歉,这不起作用。我不知道这里的问题是什么..我测试了它,上面的代码工作正常;也许您有配置问题。你的重定向目的地是什么文件?我不明白你所说的重定向目的地是什么意思,但查询和控制所有数据的文件是index.php,我尝试了很多代码,但我无法重写url,会出现什么样的配置问题?你能帮我吗?谢谢,所以这不起作用?:重写规则^song\/([A-Za-z0-9\+])index.php?song=$1不,这不起作用。顺便说一句,.htacess文件保存在根文件夹中,即使应该重写子域,即tabs.musiccafenepal.com,对吗??我可以向你展示我的php代码和文件结构吗,这样你就可以很容易地帮助我??你能告诉我你的电子邮件地址吗?
/?song=$1