2015-09-20 27 views
0

如何在加载时从xampp的根目录运行一个php文件?

我希望当我在浏览器中键入地址加载draft.php文件:本地主机:81/mvcdemo。我已经在我的.htaccess文件中添加以下代码:

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^(.*)$ draft.php?url=$1 [QSA,L] 

我也改变Apache(httpd.config)文件以获得重写。那么,我做错了什么?

+1

为什么不把它叫做index.php?无论如何,这通常被配置为默认加载。 –

+0

@ some-non-descript-user我知道这一点。我只想弄清楚我的重写有什么问题? –

+0

你的.htaccess似乎很好。仔细检查你的配置,也不要忘记在进行更改后重新启动Apache。检查[这篇文章](http://stackoverflow.com/questions/12272731/using-mod-rewrite-with-xampp-and-windows-7-64-bit)更多的帮助与配置。 – harris

回答

0

您可以在配置文件(或通过.htaccess)中更改apache的DirectoryIndex指令并追加draft.php。然后它像通常的index.html或index.php文件一样自动加载。

+0

你能帮我通过重写来做到这一点吗? –

2

您有条件定义,以便您的RewriteRule只会被触发,如果请求的文件,目录或链接不存在。

因此,如果您的.htaccess文件位于目录mvcdemo中,并且您正在请求所述目录,则该规则将不会被触发,因为该目录存在。

请求http://localhost:81/mvcdemo/foo应该触发重写规则,因为它不存在。

如果您希望将目录中的所有请求被重写,那么你可以只用条件做掉:

RewriteEngine On 

RewriteRule ^(.*)$ draft.php?url=$1 [QSA,L] 

注意RewriteBase /设置基本URL作为文档根目录,因为draft.php似乎在mvcdemo目录本身,你应该废除,因为它会导致draft.php找不到错误。

相关问题