我已经在这里工作了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
运行?提前谢谢。
答案 0 :(得分:1)
从默认的ubuntu安装启动并运行mod_rewrite,你必须:
启用mod重写
a2enmod rewrite
然后确保您在站点配置中允许覆盖(/ etc / apache2 / sites-available /)
并更新''指令中的行AllowOverride All
。
重新加载apache config
service apache2 reload