[英]URL rewrite - one more rule
我正在對我的網站進行URL重寫。 到目前為止,效果很好。 我得到以下代碼:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /calendster/
RewriteRule ^admin2($|/) - [L]
RewriteRule ^test.php($|/) - [L]
RewriteRule ^([^/]+)/([a-z]+)/(\d+)/?$ index.php?site=$1&cmd=$2&id=$3 [L,NC,QSA]
RewriteRule ^([^/]+)/([a-z]+)/?$ index.php?site=$1&cmd=$2 [L,NC,QSA]
RewriteRule ^([^/]+)/(\d+)/?$ index.php?site=$1&id=$2 [L,QSA]
RewriteRule ^([^/]+)/?$ index.php?site=$1 [L,QSA]
使用上面顯示的代碼,我有了這些URL-re
test.php?site=hi --> www.domain.com/hi
test.php?site=hi&id=1 --> www.domain.com/hi/1
test.php?site=hi&cmd=test --> www.domain.com/hi/test
test.php?site=hi&cmd=test&id=1 --> www.domain.com/hi/test/1
我還要一條規則。 我想要
test.php?site=users&ustr=haris-skrijelj --> www.domain.com/users/haris-skrijelj
我該如何進行這項工作?
我想這會工作:
RewriteRule ^([^/]+)/([a-z-]+)/?$ index.php?site=$1&ustr=$2 [L,NC,QSA]
但是,如果在用戶上也可以讓用戶沒有破折號,則您必須使用以下方法使其更加具體:
RewriteRule ^(users)/([a-z-]+)/?$ index.php?site=$1&ustr=$2 [L,NC,QSA]
否則它將與您的其他規則沖突。
以及完整的規則:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /calendster/
RewriteRule ^admin2($|/) - [L]
RewriteRule ^test.php($|/) - [L]
RewriteRule ^([^/]+)/([a-z]+)/(\d+)/?$ index.php?site=$1&cmd=$2&id=$3 [L,NC,QSA]
RewriteRule ^([^/]+)/([a-z-]+)/?$ index.php?site=$1&ustr=$2 [L,NC,QSA]
RewriteRule ^([^/]+)/([a-z]+)/?$ index.php?site=$1&cmd=$2 [L,NC,QSA]
RewriteRule ^([^/]+)/(\d+)/?$ index.php?site=$1&id=$2 [L,QSA]
RewriteRule ^([^/]+)/?$ index.php?site=$1 [L,QSA]
RewriteRule ^([^/]+)/users/(\w+)$ test.php?site=users&ustr=$1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.