2010-08-19 50 views
0

在我的網站上有一個關聯公司/文件夾。將.aff重寫爲.aff並將.aff作爲php

裏面,我有showgames.php

我希望能夠訪問該文件爲www.website.com/affiliates/showgames.aff

內部分支機構的文件夾,我把這個的.htaccess

AddType application/x-httpd-php .php .aff 
RewriteEngine on 
RewriteBase/
RewriteRule ^(.*)\.php$ $1.aff [R=permanent] 

由於某些原因,它不起作用。

+1

它不起作用,因爲您正在重寫它以將請求轉發給其.aff對應項。但是爲了這個工作,你必須修改apache配置來爲PHP解釋器註冊其他擴展。 – mhitza 2010-08-19 08:59:48

+0

爲什麼不這樣做:'RewriteRule ^(。*)\。aff(。+)$ $ 1.php?$ 2 [L]' – Prix 2010-08-19 09:01:19

+0

does apache是​​否有註冊的.aff擴展名? – NVG 2010-08-19 12:25:10

回答

0

你誤解了重寫是什麼。

你說你有一個/affiliates/showgames.php頁面,你想要訪問爲/affiliates/showgames.aff。這意味着第二個必須在請求時內部重寫爲第一個,而不是其他方式。

這也意味着您不需要將.aff文件解釋爲PHP腳本。只需在affiliates中執行此操作.htaccess:

RewriteRule ^(.*)\.aff$ $1.php [QSA] 
+0

不工作...... Q,S和A是什麼意思?我試圖在關聯htaccess中僅添加該行,並且沒有工作 – NVG 2010-08-19 12:02:23

+0

請參閱http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html QSA表示「query string append」。如果它不起作用,也許你需要'RewriteEngine on'。否則,你必須要更具體的不是 「沒有工作」 – Artefacto 2010-08-19 12:06:17

+0

我得到它的工作終於在 重寫規則^加入 RewriteEngine敘述後(。*)\。AFF $ $ 1.PHP [QSA] THX – NVG 2010-08-19 12:26:33