2011-11-16 21 views
0

我有.htaccess文件,如下所示,以顯示一個url ..some.com/designit/portfolio-website-nature?page = 2 inplace of ..some。 COM/designit // portfolio.php?貓=網站& SUBCAT =性質?頁= 2勝我想它顯示爲..some.com/designit /組合/網站/自然/第2頁通過將「 - 」替換爲「/」來重命名一個url

Options +FollowSymlinks 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-z0-9_.\ ]+)$ $1.php [QSA] 
RewriteRule ^portfolio-([a-zA-Z0-9_.\ ]+)$ portfolio.php?cat=$1 [QSA] 
RewriteRule ^portfolio-([a-zA-Z0-9_.\ ]+)-([a-zA-Z0-9.\-\ ]+)$ portfolio.php?cat=$1&subcat=$2 [QSA] 
#RewriteRule ^portfolio-([a-zA-Z0-9_.\ ]+)-([a-zA-Z0-9.\ ]+)-([0-9]+)$ portfolio.php?cat=$1&subcat=$2&page=$3 [QSA] 
#RewriteRule ^portfolio-([a-zA-Z0-9_.\ ]+)-([0-9]+)$ portfolio.php?cat=$1&page=$2 [QSA] 
#RewriteRule ^portfolio-([0-9]+)$ portfolio.php?page=$2 [QSA] 
RewriteRule ^projects-([a-zA-Z0-9_.\ ]+)$ portfolio_details.php?id=$1 [QSA] 

我主要問題是用「/」替換「 - 」,請幫助我。


我用WAMPSERVER Apache的版本2.2.17,Windows操作系統的,我在designit folder.code我已經written.when i上運行的代碼,並點擊一個類別名稱的頁面是.htaccess文件使用它的slyte,js,images.but但頁面正在工作,並且url是「http:// localhost/designitt/portfolio/categoryname」。現在我再次點擊相同的鏈接或另一個類別,URL顯示爲「http:// localhost/designitt/portfolio/portfolio/categoryname」再次點擊相同的鏈接,它變成「http:// localhost/designitt/portfolio/portfolio/portfolio/categoryname」。我想你的問題。請幫助我當你得到時間。

回答

0

的原則基本上是:

  • 如果URL中含有 「組合/ AA/BB/CC」,那麼你需要添加此PARAMS: 「cat=aa」, 「subcat=bb」, 「page=cc
  • 如果URL是「portfolio/aa/bb」那麼你需要添加這個參數:「cat=aa」,「subcat=bb
  • 如果URL是「portfolio/aa」那麼你需要添加這個參數:「 cat=aa

這可能像這樣工作:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-z0-9_.\ ]+)$ $1.php [QSA] 
RewriteRule ^portfolio/([a-zA-Z0-9_.\ ]+)/([a-zA-Z0-9_.\ ]+)/([0-9]+) /portfolio.php?cat=$1&subcat=$2&page=$3 [QSA] 
RewriteRule ^portfolio/([a-zA-Z0-9_.\ ]+)/([a-zA-Z0-9_.\ ]+) /portfolio.php?cat=$1&subcat=$2 [QSA] 
RewriteRule ^portfolio/([a-zA-Z0-9_.\ ]+) /portfolio.php?cat=$1 [QSA] 
RewriteRule ^projects/([a-zA-Z0-9_.\ ]+)$ /portfolio_details.php?id=$1 [QSA] 

告訴我,如果這個工程。


請儘量使用RewriteLog指令:它可以幫助您追蹤到這樣的問題:

# Trace: 
# (!) file gets big quickly, remove in prod environments: 
RewriteLog "/web/logs/mywebsite.rewrite.log" 
RewriteLogLevel 9 
RewriteEngine On 

告訴我,如果它的工作原理。

+0

嗨感謝您的回覆。我試過這段代碼。該頁面正在顯示,但它沒有得到CSS,JS,圖像anything.in螢火蟲CSS,JS,圖像顯示路徑「http://localhost/designit/portfolio/images/logo.png」其中正確的路徑是「 http://localhost/designit/images/logo.png「.so該怎麼辦?請幫我解決問題 –

+0

我想,但(1)我沒有收到,所以我幫你(像大家在這裏)在我的空閒時間,我現在沒有很多空閒時間(2)你必須提供更多關於你的配置的信息:這些虛擬主機是?直接服務器配置? htaccess文件?哪個操作系統:蘋果,Linux或M ---? –

+0

我使用WAMPSERVER apache版本2.2.17,OS-WINDOWS,我在設計文件folder.code中有.htaccess文件,我已經寫過。當我運行你的代碼並點擊一個類別名稱時,頁面與其slyte, JS,圖像。但網頁正在工作,並且網址是「http:// localhost/designitt/portfolio/categoryname」。現在我再次點擊相同的鏈接或其他類別,網址顯示爲「http:// localhost/designitt/portfolio/portfolio/categoryname「,我再點擊相同的鏈接就會變成」http:// localhost/designitt/portfolio/portfolio/portfolio/categoryname「。 –