Regex Mod rewrite未按应有的方式重写
这是原始URL:Regex Mod rewrite未按应有的方式重写,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,这是原始URL: http://myurl.com/entertainment/act-view.html?act_name=good-duo 我希望能够将其改为: http://myurl.com/entertainment/good-duo 下面是我正在尝试的,但得到500个内部服务器错误 RewriteEngine On RewriteRule ^entertainment/([^/]*)$ /entertainment/act-view.html?act_name=$1 [L] 因
http://myurl.com/entertainment/act-view.html?act_name=good-duo
我希望能够将其改为:
http://myurl.com/entertainment/good-duo
下面是我正在尝试的,但得到500个内部服务器错误
RewriteEngine On
RewriteRule ^entertainment/([^/]*)$ /entertainment/act-view.html?act_name=$1 [L]
因为循环,你得到了500,因为你的正则表达式是:
^entertainment/([^/]*)$
哪些与重写之前和之后的URI相匹配,即
/entertainment/good-duo
/entertainment/act-view.html
您可以使用此规则:
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^entertainment/([^/]*)/?$ /entertainment/act-view.html?act_name=$1 [L,QSA,NC]
或者这个:
RewriteRule ^entertainment/([^/.]*)/?$ /entertainment/act-view.html?act_name=$1 [L,QSA,NC]
因为循环,你得到了500,因为你的正则表达式是:
^entertainment/([^/]*)$
哪些与重写之前和之后的URI相匹配,即
/entertainment/good-duo
/entertainment/act-view.html
您可以使用此规则:
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^entertainment/([^/]*)/?$ /entertainment/act-view.html?act_name=$1 [L,QSA,NC]
或者这个:
RewriteRule ^entertainment/([^/.]*)/?$ /entertainment/act-view.html?act_name=$1 [L,QSA,NC]