簡體   English   中英

.htaccess php 擴展刪除不起作用

[英].htaccess php extension removal not working

我目前正在使用 htaccess 文件從我的網站文件中刪除 php 擴展名。 它在我的一個網站上正常運行,但在另一個網站上運行正常,而且我們使用的是相同的代碼。 (但在損壞的那個上有額外的重定向)

奇怪的是 - 它已經工作了幾個月,直到 Media Temple 將我們的網格服務器從 Debian Squeeze 更新為 Wheezy 時才停止工作(他們聲稱不應該改變 htaccess 的工作方式,但不確定還有什么其他解釋) .)

顯然它仍然重定向 html 文件。 任何想法為什么?

當前代碼:

# BEGIN (mt) controlled settings
<IfModule !mod_fcgid.c>
AddHandler php-stable .php
</IfModule>
<IfModule mod_fcgid.c>
AddHandler fcgid-script .php
<Files *.php>
Options +ExecCGI
</Files>
</IfModule>
# END (mt) controlled settings

Options +MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

RewriteRule ^([^\.]+)$ $1.html [NC,L]

ErrorDocument 403 /error-403
ErrorDocument 404 /error-404
ErrorDocument 500 /error-500

該代碼之后是我們的 301 重定向。

主機在說這不是 Debian 的錯誤后終於找到了問題。 他們是這樣說的:

最近對 Grid 的 Wheezy 更新確實修改了一些>意外的事情,包括 MIME 的配置方式,這就是為什么 >+MultiViews 適用於 [site 1],它只包含 .html 文件,>而 [site 2] 是不工作,其中包含 .php 文件。 為了糾正這個問題,我在 ~/domains/[site 2]/.htaccess 文件中添加了以下行,以便它正確解釋 .php 文件:

添加類型應用程序/x-httpd-php .php

所以代碼現在看起來像這樣:

AddType application/x-httpd-php .php

# BEGIN (mt) controlled settings
<IfModule !mod_fcgid.c>
AddHandler php-stable .php
</IfModule>
<IfModule mod_fcgid.c>
AddHandler fcgid-script .php
<Files *.php>
Options +ExecCGI
</Files>
</IfModule>
# END (mt) controlled settings

Options +MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM