2011-07-04 114 views
0

我試圖設置我的.htaccess文件。我將如何去獲得這樣的結果:.htaccess RewriteRule domain.com/page/page to domain.com?p = page/page

請求:domain.com/page/page

改寫爲:domain.com/index.php?p=page/page

我已經試過:

RewriteRule ^(.*)$ index.php?p=$1 [L,QSA] 

沒有運氣。

+0

頁面加載但看起來很奇怪,也許樣式表不加載正確?我不太確定。 – Undefined

+0

通過添加一個斜槓:RewriteRule^/(。*)$ index.php?p = $ 1 [L,QSA] 它加載好,但頁面不起作用。 – Undefined

+0

RewriteRule ^(。*)$ /index.php?p=$1 500服務器錯誤。 – Undefined

回答

1

好吧我解決了它。我需要兩個規則:

RewriteRule ^([a-zA-Z0-9_\\s-]+)(/)?$ index.php?p=$1 
RewriteRule ^([a-zA-Z0-9_\\s-]+)/([a-zA-Z0-9_\\s-]+)(/)?$ index.php?p=$1/$2 

我的PHP腳本並沒有因爲只有

RewriteRule ^([a-zA-Z0-9_\\s-]+)(/)?$ index.php?p=$1 

domain.com/no1/將轉化爲domain.com/index.php?p=no1喜歡/ < ---不理解結尾斜槓

這個解決方案的唯一問題是它只有兩個虛擬目錄深,但因爲這是我所需要的一切都很好。 這是我第一次使用.htaccess,所以我很抱歉我缺乏理解。

0

試試這個代碼在.htaccess文件:

Options +FollowSymlinks -MultiViews 
RewriteEngine On 

RewriteRule ^(?!index\.php)(.*)$ /index.php?p=$1 [L,NC,QSA] 

排除模式將避免無限循環在這裏。

+0

好吧我已經完成了。我需要兩條規則: RewriteRule ^([a-zA-Z0-9 _ \ s-] +)(/)?$ index.php?p = $ 1 RewriteRule ^([a-zA-Z0-9_ \ \ s - ] +)/([a-zA-Z0-9 _ \ s - ] +)(/)?$ index.php?p = $ 1/$ 2 我的php腳本不喜歡它, RewriteRule ^([a-zA-Z0-9 _ \ s - ] +)(/)?$ index.php?p = $ 1 domain.com/no1/會翻譯成domain.com/index.php ?p = no1/<---不懂結尾斜槓 這個解決方案的唯一問題是它只能深入兩個虛擬目錄,但因爲這就是我所需要的。 這是我第一次使用.htaccess,所以我很抱歉我缺乏理解。 – Undefined