2013-07-10 73 views
0

基本上我想我的查詢字符串的URL轉換爲一個目錄結構的搜索引擎優化的目的。我一直在嘗試在.htaccess文件中以很多語義方式表達同樣的邏輯,以查看是否可以得到結果。這是我期待的。的.htaccess更改查詢字符串轉換爲目錄格式

請求爲: mywebsite.com/test/antitrust/somelongfilename/

然後修改爲請求: mywebsite.com/test/antitrust/?id=news &交=新聞/ somelongfilename html的

所以,當人們點擊我的搜索引擎友好的鏈接,他們得到改變的醜陋的人到我的PHP代碼可以讀取。 「somelongfilename.html」不能單獨顯示,它的正文內容被推送到一個php文件的內容區域。

僅供參考,崗位=新聞/ somelongfilename.html實際上是從反壟斷目錄的目錄/文件跳轉,因此它位於/測試/反托拉斯/新聞。它一直工作正常,即使它可能不是一個好主意放/查詢字符串。

.htaccess位於子目錄/反托拉斯,因爲我不想觸及根目錄.htaccess作爲它服務的許多網站,我不想影響,因爲我不是一個.htaccess專家。

RewriteOptions inherit 
RewriteEngine On 
RewriteCond %{HTTP_HOST} news 
RewriteRule ^/(.*) index.php/?id=news&post=$1 [QSA,L] 

也試過很多這樣的變化:

RewriteEngine On 
RewriteOptions inherit 
RewriteCond %{HTTP_HOST} ^news$ 
RewriteRule \/(.+?)\/? ^?id=news&post=$2 [QSA,L] 
RewriteRule ?id=(.+?)&post=(.+?) http://mywebsite.com/test/crush/antitrust/$1/$2/ [QSA,R] 

什麼部Im任何想法做錯了什麼?謝謝。

回答

0

嘗試:

RewriteEngine On 
RewriteOptions inherit 

RewriteBase /test/antitrust/ 

# not sure why you need this, it's not part of your question 
RewriteCond %{HTTP_HOST} news 

# conditions to prevent looping 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*?)/?$ index.php?id=news&post=$1 [QSA,L] 
+0

感謝喬恩,這是行不通的,併產生了我的SEO鏈接(鏈接假貨)404,所以沒有發生談話。至於RewriteCond%{HTTP_HOST}消息,你是對的,我從來沒有問過這個。那只是爲了包含單詞news的任何請求執行這個代碼。它並不是真的有必要。 – user2561624

+0

我使用RewriteBase玩弄了/ test/crush/antitust它的工作。非常感謝!所以在這裏學到的是將基礎重寫到你調用php代碼的子目錄。 – user2561624