У меня проблемы с правилом перезаписи. У меня есть 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
)