2016-11-24 47 views
0

我有兩個重寫規則麻煩在我的htaccess麻煩與2重寫規則

RewriteRule ^(.*)/(.*)/(.*)/([0-9]+)/?$ viewauthor.php?lg=$1&cat=$2&nameauthor=$3&id=$4 [NC,L] 
RewriteRule ^(.*)/(.*)/(.*)/([0-9]+)/?$ viewbook.php?lg=$1&cat=$2&namebook=$3&id=$4 [NC,L] 

我無法訪問到第二重寫規則的原因是相似的。
看我在哪個頁面上。我把echo $_SERVER['QUERY_STRING'];放在這兩頁中。

當我刪除標誌[NC,L]時,我訪問第二個重寫片,但是lg=viewauthor.php而不是lg=en

+0

他們不相似,他們是完全一樣的。您不能從同一請求路由到2個不同的頁面。你需要別的東西來區分它們,爲什麼不用'/ author /'和'/ book /'開始作者? – Walf

+0

感謝您在作者或書籍開始時對其作品的迴應,但是。在我的腳本中,我不能由作者或書籍開始,我需要先使用lg變量。另一個想法。 – timimi

回答

0

你需要一個前綴區分,但你不抓住它,它只是用來匹配規則:

RewriteRule ^author/(.*)/(.*)/(.*)/([0-9]+)/?$ viewauthor.php?lg=$1&cat=$2&nameauthor=$3&id=$4 [B,NC,L] 
RewriteRule ^book/(.*)/(.*)/(.*)/([0-9]+)/?$ viewbook.php?lg=$1&cat=$2&namebook=$3&id=$4 [B,NC,L] 

現在使你的網址,像/author/foo/far/faz/1/book/boo/bar/baz/2。請注意添加了B標誌。

+0

感謝所有我解決我的問題:RewriteRule ^(。*)/ author /(。*)/([0-9] +)/?$ viewauthor.php?cat = author&lg = $ 1&nom = $ 2&id = $ 3 RewriteRule ^(。*)/ book /(。*)/([0-9] +)/?$ viewbook.php?lg = $ 1&cat = book&miw = $ 2&id = $ 3再次感謝 – timimi

+0

好,只是感謝人們,這就是upvotes /接受答案。 – Walf

+0

我已經做到了。 – timimi