2011-06-20 21 views
1

我必須用htaccess將www.url.com/opslag/view.php?visopslag=(id)改寫成更漂亮的東西:o)我創建了一個可能的應用程序論壇。這就是我想重寫了: 我的要求是:.htaccess php Rewrite view.php?visopslag =(id)

www.url.com/opslag/vis/id 

我怎樣才能做到這一點?我試過很多不同的東西,如:

RewriteRule ^/opslag/([^/\.]+)/?$ view.php?vis=$1 [L] 

我的完整的.htaccess:

RewriteEngine On 
"#Rewrite view.php?vis=id 
RewriteRule ^opslag/vis/([0-9]+)$ /opslag/view.php?vis=$1 [L,R,QSA] 

"#Remove index.php 
"#RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/  
"#RewriteRule ^(.*)index\.php$ /$1 [R=301,L] 

"#Remove /page/  
"#RewriteCond %{REQUEST_FILENAME} !-f  
"#RewriteCond %{REQUEST_FILENAME} !-d  
"#RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L] 
+0

'id'總是數字,字母數字等?它可以包括什麼? –

+0

只有數字..像1,2,42,100,1 ..總是一個數字。像在Stackoverflows url:url.com/questions/123123/像那樣 – skolind

回答

5

請備份您的.htaccess文件。現在刪除所有行 - 將其設爲空(此時存在太多噪音)。

這些行添加到您的空的.htaccess(應該在你的網站的根文件夾):

RewriteEngine On 
RewriteRule ^opslag/vis/(\d+)$ /opslag/view.php?vis=$1 [NC,QSA,L] 

這應視作爲www.url.com/opslag/vis/11www.url.com/opslag/view.php?vis=11

請確保您沒有更多的.htaccess文件在opslag文件夾中。

+0

這一個工程@LazyOne:o)現在我只有一個問題,我也需要其他重寫。一個刪除/頁/因爲即時通訊使用CMS,我想刪除index.php第三條規則。我該怎麼做呢? – skolind

+0

好的開始。向我顯示你當前擁有的URL(你剛剛提到的那個)和URL在重定向/重寫後應該如何看待 – LazyOne

+0

好吧,我需要刪除www.url.com/**page**/ 我的鏈接是:HREF = '/ $行[鏈接]' – skolind

2

基於到目前爲止您提供什麼,我提供這個。如果你提供更多的信息,我會相應地修改它。

RewriteBase /somedir 
RewriteEngine On 
RewriteRule ^opslag/vis/([0-9]+)$ /opslag/view.php?vis=$1 [L,R,QSA] 
+0

它不起作用。也許我應該告訴你,我的htaccess文件在根目錄下,並且文件view.php在子文件夾中。這有什麼關係? – skolind

+0

嘗試像上面那樣添加'RewriteBase'。還要臨時添加'[R]'標誌('[L,R,QSA]')以查看它試圖重定向到的內容。 –

+0

我收到這個錯誤。 :內部服務器錯誤 – skolind