Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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
Php .htaccess SEO友好URL不使用两个参数_Php_Apache_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

Php .htaccess SEO友好URL不使用两个参数

Php .htaccess SEO友好URL不使用两个参数,php,apache,.htaccess,mod-rewrite,url-rewriting,Php,Apache,.htaccess,Mod Rewrite,Url Rewriting,我试图为我的网站创建SEO友好的URL,但我遇到了我无法解决的问题。我不知道如何设置重写规则,因此它将显示如下示例:www.mysite.com/shows/late-night和www.mysite.com/news/title-of-article。这是我的htaccess文件: RewriteEngine on RewriteRule ^(.*)/([a-z_-]+) index.php?switch=$1&shows=$2 [NC,L] RewriteRule ^(.*)

我试图为我的网站创建SEO友好的URL,但我遇到了我无法解决的问题。我不知道如何设置重写规则,因此它将显示如下示例:www.mysite.com/shows/late-night和www.mysite.com/news/title-of-article。这是我的htaccess文件:

 RewriteEngine on
 RewriteRule ^(.*)/([a-z_-]+) index.php?switch=$1&shows=$2 [NC,L] 
 RewriteRule ^(.*)/([a-z_-]+) index.php?switch=$1&article=$2 [NC,L] 
 RewriteRule ^shows/$ index.php?switch=shows [NC,L]
 RewriteRule ^articles/$ index.php?switch=article [NC,L]

如果我注释掉第一行和第三行,重写规则可以工作,但是我如何注释这两行都可以工作。

1和2规则不能共存,因为它们匹配相同的URI模式。永远只有第一个。调整规则如下:

RewriteEngine on

RewriteRule ^(shows)/([a-z_-]+)/?$ index.php?switch=$1&shows=$2 [NC,L,QSA] 
RewriteRule ^(news)/([a-z_-]+)/?$ index.php?switch=$1&article=$2 [NC,L,QSA] 
RewriteRule ^(shows|news|articles)/?$ index.php?switch=$1 [NC,L,QSA]

嘿,忍者。。。我将删除我的答案;)它仍然不起作用,因为每个页面都有单独的页面布局。我在php switch语句的帮助下更改它们。问题是第三行RewriteRule^(shows | news | articles)/?$index.php?switch=shows[NC,L,QSA],因为它只显示shows页面,如果我将其更改为articles,shows页面将不起作用