2012-11-14 70 views
-1

我有一個這樣的網址:
page.com?c=example1&a=example2
但我想有這樣的:
page.com/example1/example2的.htaccess,重寫URL有一些例外

但是,如果用戶是page.com/public/...不做任何東西,因爲我有目錄public/css/smth.css,當我試圖訪問它時,它會更改爲像page.com?c=public&a=css/smth.css...這不是我想要的東西。

我該如何做到這一點只適用於不以public開頭的網址?

我目前的.htaccess:

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^([^/]+)/([^/]+) index.php?c=$1&a=$2 
+0

什麼是您當前的.htaccess文件? –

+1

請編輯您的問題,而不是發表評論。 –

回答

3

.htaccess文件需要看起來像這樣:

# Follow symbolic links 
Options +FollowSymlinks 

# Turn on the rewrite engine 
RewriteEngine On 

# Set the general first level rewrites 
RewriteRule ^(.+)/((?!public).*)/(.+)/?$ $1.php?c=$2&a=$3 [NC] 

我沒有測試以上,但它應該是沿着正確的線

+0

謝謝! '((?!public)。*)'正是我所需要的 –

+0

@BenasRadzevicius不用擔心,樂意幫忙:-) –

2

希望這有助於!

RewriteRule ^page.com/public/([a-zA-Z0-9-]*)/$ page.com?c=public&a=$1 
RewriteRule ^page.com/([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*)/$ page.com?c=$1&a=$2 
RewriteRule ^page.com/([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*)$ page.com?c=$1&a=$2 
+1

他怎麼樣,不是page.com/public/要求 –

+0

只需在規則上面添加#RewriteRule^page.com/public /([a-zA-Z0-9 - ] *)/ $ page.com?c = public&a = $ 1 –

+0

@bikashshrestha爲什麼在3行中這樣做,當你可以在一個!? –