Php .htaccess SEO友好URL不使用两个参数
我试图为我的网站创建SEO友好的URL,但我遇到了我无法解决的问题。我不知道如何设置重写规则,因此它将显示如下示例:www.mysite.com/shows/late-night和www.mysite.com/news/title-of-article。这是我的htaccess文件: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 ^(.*)
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页面将不起作用