2010-03-24 82 views
0

請求----->應寫入新的URL
Apache的URL重寫問題

/機構/ DPS -----> /institute.php?slug=dps
/機構/ ABC - ----> /institute.php?slug=abc
/研究所/ 123 -----> /institute.php?slug=123

我使用下面的規則在.htaccess
重寫規則^學院/(.*)$ /institute.php?slug=$1

但是,它不起作用。 insitute.php頁面執行,但查詢字符串始終爲空。

有什麼建議嗎?

+0

你是說重定向不工作,或者它沒有改變地址欄的網址?你的.htaccess文件位於哪裏? – jasonbar 2010-03-24 22:03:49

+0

您的.htaccess中是否有其他規則可能存在衝突? – thetaiko 2010-03-24 22:07:00

回答

1

這應該工作......如果你嘗試

RewriteRule ^institute/(.*)$ /institute.php?slug=$1 [R] 

應該正式重定向,你會看到新的URI

如果沒有[R]在那裏將發出正確的請求,但在查詢字符串中不會看到?slug=,但將設置$_REQUEST['slug']

+0

[如果您不使用[R],重定向將不可見,但仍會被執行] – DorianFM 2010-03-24 22:13:38

0

你打開了.htaccess文件中的重寫嗎? (在你的RewriteRule之前)

RewriteEngine On 

如果是這樣 - 你的apache配置是否允許你使用.htaccess文件? (尋線)

AllowOverride None 

裏面你的httpd.conf 應該是

AllowOverride All 

最後確認URL重寫模塊在httpd.conf開啓(它可能被註釋掉)

的LoadModule rewrite_module模塊/ mod_rewrite.so