Articles of 国防部重写

htaccessredirectindex.php到根(包括子域名)

我试图将index.php文件redirect到根目录,我search了几个代码片段,类似于: RewriteCond %{THE_REQUEST} ^.*/index.php RewriteRule ^(.*)index.php$ http://www.domain.com/$1 [R=301,L] 但是这不适用于子域名,例如下面的例子: 我有一个子域名:subdomain.domain.com 用户访问http://subdomain.domain.com/index.php 使用上面的htaccess他们redirect到http://www.domain.com/而不是http://subdomain.domain.com/ 有谁知道如何调整上面的htaccess,所以它会考虑到子域,并将其redirect到适当的位置? 例如,如果用户访问http://subdomain.domain.com/index.php他们将去http://subdomain.domain.com/ 奖励积分: 有没有一个htaccess可以将这个规则应用到所有文件夹? 所以对于任何与index.php文件夹,他们将被redirect到它的根目录,例如http://subdomain.domain.com/folder1/folder2/index.php会自动去http://subdomain.domain.com/folder1 /文件夹2 /

Apache mod_rewrite:在Windows机器上使用PHP脚本的RewriteMap指令

这一直使我疯狂。 我似乎无法得到的RewriteMap指令工作的Windows脚本的PHP脚本。 这里是我的httpd.conf文件的相关片段: <IfModule mod_rewrite.c> RewriteEngine on RewriteMap router "prg:C:/dev/web/www/routing.php" RewriteRule (.*) ${router:$1} </IfModule> 我简单的PHP脚本是这样读的: #!C:\Program Files\PHP5.3.2\php-win.exe <?php set_time_limit(0); # forever program! $keyboard = fopen("php://stdin","r"); while (1) { $line = trim(fgets($keyboard)); echo "/sandbox.php?url=$line"; echo "\n"; } ?> 当我尝试启动Apache时,在我的错误日志中得到以下行: [错误](OS 193)%1不是有效的Win32应用程序。 :mod_rewrite:无法启动RewriteMap程序C:/dev/web/www/routing.phpconfiguration失败 apache文档指的是“魔术cookies技巧”(在“外部重写程序”标题下),它应该是指向解释器的脚本的第一行。 这是我要错了,还是我需要调用RewriteMap指令不同呢?