Godaddy Ubuntu 3.6 mod_rewrite问题

时间:2013-05-19 03:51:52

标签: php .htaccess mod-rewrite ubuntu

我已经在这里工作了3个小时,似乎无法让mod_rewrite在子域下的共享服务器上使用GoDaddy。我在子目录中有一个应用程序,我之前在多个服务器上使用了相同的规则,所以我知道它们有效。这就是我所拥有的:

PHP Version 5.3.10-1 Ubuntu3.6

subdomain root/
-.htaccess
--appdir/
---.htaccess
----public/
-----.htaccess

子域名root / .htaccess

Options -Multiviews

对于文档根.htaccess而言,许多人建议使用GoDaddy服务器执行此操作。

APPDIR / htaccess的

Options -Multiviews

RewriteEngine on
RewriteBase /appdir
RewriteRule    ^$    public/    [L]
RewriteRule    (.*) public/$1    [L]

这会将所有请求路由到appdir/public目录

APPDIR /公共/ htaccess的

Options -Multiviews

RewriteEngine On
RewriteBase /appdir/public ### also tried just adding /appdir ###
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]

ErrorDocument 404 index.php

为了确保mod_rewrite可用,我从Bash运行了sudo a2enmod rewrite并在使用print_r(apache_get_modules());重新启动apache后进行了检查,确定它已经存在,所以不用说我已经完成了关于问题可能是什么的损失。任何人都有与GoDaddy类似的经历,并建议如何让mod_rewrite运行?提前谢谢。

1 个答案:

答案 0 :(得分:1)

从默认的ubuntu安装启动并运行mod_rewrite,你必须:

启用mod重写

a2enmod rewrite

然后确保您在站点配置中允许覆盖(/ etc / apache2 / sites-available /) 并更新''指令中的行AllowOverride All

重新加载apache config

service apache2 reload