我在我的智慧'結束...我試圖做一些簡單的事情,但我不明白是什麼問題...PHP和mod_rewrite問題在Plesk
我簡單試圖將所有請求都發送到域,並將它們路由到index.php
編輯清楚起見:index.php充當請求的調度程序,作爲框架的一部分。
我有我的本地機器上這方面的工作沒有問題,但服務器(VPS Linux的使用Plesk)我有各種各樣的問題......
編輯清晰的:這些規則被定義在虛擬主機的vhost.conf配置文件中。
這裏的mod_rewrite的:
<IfModule rewrite_module>
RewriteEngine On
RewriteRule ^/.* /index.php
</IfModule>
下面是Apache的錯誤日誌,當我試圖進入 「www.mydomain.com/home/index」(例如):
[debug] core.c(3072): [client xxx.xxx.xxx.xxx] r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/phppath/cgi_wrapper/home/index
[debug] core.c(3078): [client xxx.xxx.xxx.xxx] redirected from r->uri = /phppath/cgi_wrapper/phppath/cgi_wrapper/home/index
[debug] core.c(3078): [client xxx.xxx.xxx.xxx] redirected from r->uri = /phppath/cgi_wrapper/home/index
[debug] core.c(3078): [client xxx.xxx.xxx.xxx] redirected from r->uri = /home/index
由於您可以從跟蹤中看到,它似乎將/ home/index重定向到/ phppath/cgi_wrapper /,然後它似乎再次傳遞到/ phppath/cgi_wrapper/phppath/cgi_wrapper/home/index,依此類推,直到最大值內部重定向已達到。
將HTTP 500發送到瀏覽器。
進一步編輯 - 額外的信息。從我從Plesk散佈其文件的方式中可以看出,這些是唯一對虛擬主機有影響的兩行。我認爲這可能是Action聲明...我可以用vhost.conf以某種方式覆蓋它嗎?
in php-cgi.conf:
ScriptAlias /phppath/ "/var/www/cgi-bin/cgi_wrapper/"
Action php-script /phppath/cgi_wrapper
in php.conf:
AddHandler php5-script .php
進一步編輯:發現這在一個動態生成的conf文件(在虛擬主機級別)。
<Files ~ (\.php)>
SetHandler None
AddHandler php-script .php
Options +ExecCGI
allow from all
</Files>
有沒有人有任何想法發生了什麼?我一直拉我的頭髮我們兩天...在此先感謝
你爲什麼試圖將所有請求重定向到單個頁面?如果你描述了你想要達到的目標,它會幫助人們提供建議。 – Bobulous
另外,您能告訴我們這些規則是否位於站點公共根目錄中的.htaccess文件中,還是位於適用於整個服務器的httpd.conf文件中? – Bobulous
嗨 - 我試圖將請求路由到單個頁面,因爲該頁面充當調度員。它是框架的一部分。這些規則直接在vhost.conf文件中定義(其中爲每個虛擬主機定義文檔根目錄,服務器名稱等) – GarethL