具有相同重写URL的2个不同页面的.htaccess规则

时间:2017-08-03 09:13:42

标签: php apache .htaccess url-rewriting seo

我有2页

page1.php和page2.php

在我的htaccess中

第一条规则是

RewriteRule ^([ - a-zA-Z0-9] +)/?$ page1.php?seo = $ 1 [L]

第二条规则是

第一条规则是

RewriteRule ^([ - a-zA-Z0-9] +)/?$ page2.php?seo = $ 1 [L]

我的重写规则适用于page1 ...但是当我点击一个假设在第2页上重定向的链接...所以它不会重定向到该页面...它只重定向到page1 ....请帮忙

完整的htaccess代码是

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(_assets|_css|_fonts|_includes|_scripts)($|/) - [L]
RewriteRule ^([A-Za-z-\s0-9]+)$ sub-work.php?seo=$1 [L]
RewriteRule ^([A-Za-z-\s0-9]+)$ portfolio.php?seo=$1 [L]
</IfModule>

感谢

1 个答案:

答案 0 :(得分:0)

由于两个页面的RewriteRule相同,第一个会覆盖第二个。

RewriteRule sub-work/([^/]+)/?$ sub-work.php?seo=$1 [L,QSA]
RewriteRule portfolio/([^/]+)/?$ portfolio.php?seo=$1 [L,QSA]

所以网址应该是这样的:

sub-work/value    
portfolio/value