2010-10-27 83 views
5

我想製作一個網站的靜態副本,保留現有的網址。問題是,該網址看起來像:apache,允許使用'?'的文件名

http://mysite/index.php?id=XXX

和Apache不希望找到文件 「的index.php的id = XXX?」。相反,它將查詢解釋爲文件「index.php」,查詢「id = XXX」。

我該如何讓Apache停止處理問號?


最後,我的解決方案:

1)將文件從 「?的index.php ID = XXX」 重命名爲 「index.php_id = XXX」

2)添加爲.htaccess:

RewriteEngine On 
RewriteCond %{ENV:REDIRECT_STATUS} ="" 
RewriteCond %{QUERY_STRING} !="" 
RewriteRule ^(.*)$ $1_%{QUERY_STRING} [L] 

回答

5

Escape?%3fhttp://www.example.com/index.php%3fid=XXX

如果您將文件列出在有索引的目錄中,Apache將正確生成此格式的鏈接。但是,您必須重寫現有頁面中的鏈接。

相關問題