2011-05-23 186 views
0

我的結構如下:我不能讓RewriteBase和重寫規則才能正常工作

mywebsite/clubeadv/

該文件夾我有一個名爲site.php接收參數標識文件裏面。

所以,物理路徑將是:?

mywebsite/clubeadv/site.php ID =東西

但我希望它看起來像這樣:

mywebsite/clubeadv /網站/一些

(其中「東西」是我的參數)

如何配置.htaccess文件?

我試過如下:

Options +FollowSymLinks 
Options +Indexes 
RewriteEngine On 
RewriteBase/
RewriteRule ^site/(.*)$ site.php?id=$1 

任何幫助,將不勝感激。

謝謝。

+0

您的DOCUMENT_ROOT是mywebsite還是mywebsite/clubeadv?您想要處理的瀏覽器中的URI是什麼? – anubhava 2011-05-23 18:34:07

+0

這個代碼的.htaccess在哪裏? – 2011-05-23 18:34:51

+0

我試着將.htaccess放在clubeadv文件夾內 – Naner 2011-05-23 18:47:14

回答

0

嘗試刪除RewriteBase並將.htaccess放入「clubeadv」文件夾中。如果您的.htaccess位於「mywebsite」文件夾的根目錄下,那麼您可以使用RewriteBase,但使用RewriteRule clubeadv/site/(.*)$ clubeadv/site.php?id=$1

無論哪種方式,我很確定「^網站」導致它尋找mywebsite/site /你的情況。

+0

它沒有工作。 .htaccess文件應該放在哪裏?我嘗試在mywebsite文件夾下並在clubeadv文件夾下。 – Naner 2011-05-23 18:50:06

+0

正如你剛剛重寫clubeadv文件夾 - 首先將.htaccess放在那裏。你也確定你的虛擬主機允許.htaccess嗎?嘗試添加一個帶有隨機illigal字符串的htaccess,就像'AAA BBB CCC'一樣。如果嘗試訪問站點時導致內部服務器錯誤,則啓用.htaccess,否則禁用.htaccess。 – 2011-05-23 19:05:26

+0

我嘗試了隨機非法字符串的想法,並沒有得到任何東西。所以我想這是禁用的,我在哪裏啓用它? – Naner 2011-05-23 19:15:15

0

它看起來像你想:

RewriteEngine On 
RewriteBase /clubeadv/ 
RewriteRule . site.php?id=%{REQUEST_URI} 

將處理類似www的網址。 <> .com/clubeadv/abc/edf as site.php?id =/abc/edf。

0

顯然問題是服務器配置。要啓用.htaccess文件,我們必須:

  • 有以下模塊加載:

的LoadModule rewrite_module模塊/ mod_rewrite.so

  • 爲「目錄下所需的網站啓用覆蓋'標籤:

    AllowOverride All全部

謝謝你的回答。