2014-01-22 45 views
1

我想知道是否有辦法實現這種URL重寫;如果頁面存在於子文件夾中,則重寫URL

RewriteRule ^example-link-1?$ /blog/example-link-1 [NC,L] 
RewriteRule ^example-link-2?$ /blog/example-link-2 [NC,L] 
RewriteRule ^example-link-3?$ /blog/example-link-3 [NC,L] 
RewriteRule ^example-link-4?$ /blog/example-link-4 [NC,L] 

,你直接去如example.com/example-link-1鏈接,你實際上是從example.com/blog/example-link-1顯示的內容,而無需每頁我添加新的規則。有沒有一種動態的方式來做到這一點在htaccess中?即;如果存在('blog /'+ pageURI) 那麼重寫爲'blog /'+ pageURI,但保留沒有'blog /'的uri在其中。

回答

1

是確保你可以這樣做:

RewriteRule ^(example-link-[1234])/?$ /blog/$1 [NC,L] 

以上4規則。但總的來說,你可以這樣做:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{DOCUMENT_ROOT}/blog/$1 -f 
RewriteRule ^(.+?)/?$ /blog/$1 [NC,L] 

這將改寫爲/blog/something是否存在/blog/something同時保持相同的URI沒有/blog/

+0

完美謝謝! – Jai

+0

不客氣,很高興它的工作。 – anubhava

相關問題