在 Windows 2003 上使用 .htaccess 的 zend url 重写问题
Posted
技术标签:
【中文标题】在 Windows 2003 上使用 .htaccess 的 zend url 重写问题【英文标题】:zend url rewrite problem with .htaccess on windows 2003 【发布时间】:2011-11-26 12:12:10 【问题描述】:我在设置 Zend 框架项目时遇到问题。
我有 xampp/htdocs/quickstart
我的服务器名称是 mydomain.com。我想在https://mydomain.com/quickstart(note 访问我正在使用 https 的项目,不要认为这可能是个问题)
我使用了以下 .htaccess
RewriteEngine On
RewriteCond %SERVER_PORT 80
RewriteRule ^(.*)$ https://%SERVER_NAME/$1 [R,L]
RewriteRule ^\.htaccess$ - [F]
RewriteCond %REQUEST_URI =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %REQUEST_URI !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %REQUEST_FILENAME -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]
我收到 404 错误,为什么会这样? 对不起,我不是配置 .htaccess 的专家。我要做的就是将快速启动中的所有请求路由到快速启动/公共。并通过https://mydomain.com/quickstart/访问我的zend项目
上面的 .htaccess(在 Internet 上找到)出现 404 错误
我的问题是我已经在服务器上运行了其他应用程序,我想在 /quickstart 上构建一个项目。我也无法创建子域。你能帮我正确的 .htaccess 配置吗?
【问题讨论】:
如何为您的应用程序的public
目录创建一个“快速启动”别名?这样您就可以避免在 URL 中看到 public
目录。见***.com/questions/7563333/…
谢谢,这对我有用,但现在唯一的问题是我怎样才能对 SSL (:443) 做同样的事情??
【参考方案1】:
试试这个,
RewriteEngine On
RewriteCond %REQUEST_FILENAME -s [OR]
RewriteCond %REQUEST_FILENAME -l [OR]
RewriteCond %REQUEST_FILENAME -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
【讨论】:
对不起,我用了这个,但是这个,它会抛出 500 错误!你猜这个是不行的,虚拟主机别名也应该和这个一起配置!以上是关于在 Windows 2003 上使用 .htaccess 的 zend url 重写问题的主要内容,如果未能解决你的问题,请参考以下文章
Windows server 2003 中的 .net framework 怎么才能使用?
适用于 Windows XP 和 2003 的 Windows 批处理选择命令
在带有 Windows Server 2008 R2 的构建服务器上使用 Devenv.com 构建 VS 2003 解决方案
在 Windows 2003 上运行 Jabber/XMPP 的最佳选择是啥? [关闭]