Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Mod rewrite未按应有的方式重写_Regex_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Regex Mod rewrite未按应有的方式重写

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] 因

这是原始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]

因为循环,你得到了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]