Назад | Перейти на главную страницу

правило перезаписи игнорируется

У меня проблемы с правилом перезаписи. У меня есть 2 скрипта, article.php?url= и product.php?ulrprodus= и я хочу настроить для них правила перезаписи, как показано ниже:

Мои правила перезаписи:

RewriteEngine On
Options +FollowSymLinks
RewriteRule ^([a-zA-Z0-9-/]+).html$ article.php?url=$1 
RewriteRule ^([a-zA-Z0-9-/]+).html$ produs.php?urlprodus=$1 

Работает только одна перезапись article.php?url=$1. Если я изменю порядок, будет работать только перезапись, но на этот раз product.php?urlprodus=$1.

Мне нужно, чтобы оба работали.

Вам нужно что-то вроде этого

RewriteEngine On
Options +FollowSymLinks

RewriteRule ^article/([a-z0-9-/]+).html$ article.php?url=$1  [NC,L]
RewriteRule ^produs/([a-z0-9-/]+).html$ produs.php?urlprodus=$1 [NC,L]

Так что совпадения перезаписи разные; теперь вы можете переписать, скажем,

www.domain.tld/article/myRewriteRule.html 

к

www.domain.tld/article.php?url=myRewriteRule

В действии;

$ cat .htaccess 
RewriteEngine On
RewriteRule ^article/([a-zA-Z0-9-/]+).html$ article.php?url=$1  [NC,L]
RewriteRule ^produs/([a-zA-Z0-9-/]+).html$ produs.php?urlprodus=$1 [NC,L]

$ cat article.php 
<?
print_r($_GET);
?>

$ curl -i localhost/article/hello-world.html
HTTP/1.1 200 OK
Date: Tue, 11 Nov 2014 12:57:38 GMT
Vary: Accept-Encoding
Content-Length: 35
Content-Type: text/html

Array
(
    [url] => hello-world
)