草庐IT

php - mod_rewrite、php 和 .htaccess 文件

我正在编写一个小型CMS,以便更好地了解它们的工作原理并学习一些有关PHP的新知识。然而,我遇到了一个问题。我想使用mod_rewrite(尽管如果有人有更好的解决方案我愿意尝试)来生成漂亮干净的URL,因此site.com/index.php?page=2可以改为site.com/tools据我所知,每次添加新页面时我都需要更改我的.htaccess文件,这就是我遇到问题的地方,我的PHP一直告诉我无法更新它,因为它没有权限。快速的chmod显示即使有777权限它也不能这样做,我是不是错过了什么?我的mod_rewrite指令来源目前是thispagehere以防它很重要/有用。

php - mod_rewrite VS 相对路径

我的mod_rewrite代码是:Options+FollowSymLinksOptions+IndexesRewriteEngineOnRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.+)?$index.php?url=$1[L,NC]这个结构放在我的服务器路径/beta当我放置URLhttp://mydomain.com/beta/download时,一切正常重写为真实路径http://mydomain.com/beta/index.php?url=下载问题发生在相对路径

php - 子域上 GET 参数的 Mod-rewrite

我正在尝试将子域(不重定向)重写为$_GET参数:期望的结果:http://go.example.bz/link/abcde->http://example.bz/go/link?id=abcdeorhttp://go.example.bz/hrm/employee/8->http://example.bz/go/hrm/employee?id=8目前的工作:http://example.bz/go/link/abcde->http://example.bz/go/link?id=abcdeandhttp://example.bz/go/hrm/employee/8->http://e

php - 在一台 Apache 服务器上的单独虚拟主机中运行 Apache mod_php 和 mod_fastcgi

因此,我需要在一台服务器上运行多个php应用程序/站点。一个或多个应该使用apache和mod_php5运行,一个或多个应该能够使用mod_fastcgi和php-fpm运行。mod_php5目前没问题,如果我禁用mod_php5,fastcgi可以工作,但我很难让它们同时工作。我认为这可以通过在apache中使用filesmatch、if.mod_fastcgi和if.mod_actions的某种组合来实现,但我不知道它是什么。如果需要,我们可以安装执行此操作所需的任何apache模块。如果有适用于Apache2.2或更低版本的不同版本的vhost并且您也有该代码段,或者至少知道我应

php - mod_rewrite 错误 404 如果 .php

我重写了我的url以方便用户使用。例如,我有一个名为user.php的页面,我将其重写为/user。但是用户仍然可以使用user.php。如果他们请求带有.php扩展名的页面,我可以重定向到404吗?Options-MultiViews+FollowSymlinks-IndexesRewriteEngineonRewriteRule^user/([0-9]+)$user.php?id=$1[L,QSA]谢谢。 最佳答案 RewriteCond%{THE_REQUEST}\.php[\/?].*HTTP/RewriteRule^.*$

php - 防止 PHP 服务的 zip 文件上的 mod_deflate

我在阻止mod_deflate介入这种情况时遇到了一些麻烦:运行CodeIgniter(或重定向到index.php的任何其他框架)的用户mod_deflate处于事件状态zip文件由CodeIgniterController提供(header+读取文件)问题是Apache总是将内容检测为php,因此像下面的行不起作用因为服务器假定ZIP文件是PHP文件.SetOutputFilterDEFLATE关于如何让Apache区分由同一index.php框架文件生成的HTML文件或ZIP文件的任何想法。编辑:apache日志[MonJun2002:14:192011][debug]mod_d

apache - mod_fastcgi 空闲超时不起作用

我正在使用Apache+mod_fastcgi+php-fpm。我正在尝试解析大文件并在php脚本中将max_execution_time设置为0,但脚本在30秒后失败,并在错误日志中显示消息:“FastCGI:与服务器“/usr/lib/cgi-bin/lz-fcgi”的通信已中止:空闲超时(30秒)”。在下面的配置中,您可以看到-idle-timeout指令设置为900秒,我很困惑服务器在哪里获得30秒的值?当我切换到mod_php或mod_fcgid时,没问题,并且该mod的所有适当设置都在工作请大家帮忙看哪里?这里配置:Apache全局配置示例AddHandlerfastcgi

php - 用 mod_rewrite 或像 PHP 这样的语言处理友好/干净/漂亮的 URL 更好吗?

我正在开发我的第一个体面大小的PHP站点,我对在应用程序中处理干净/友好/漂亮的URL的“正确方法”(假设有这样的事情)有点困惑。在我看来,有两个主要选项(我将使用简化的社交新闻网站作为示例):1.使用mod_rewrite处理所有潜在的URL。这看起来与以下内容相似,但不完全相同:RewriteRule^article/?([^/]*)/?([^/]*)/?([^/]*)/content/articles.php?articleid=$1&slug=$2RewriteRule^users/?([^/]*)/?([^/]*)/content/users.php?userid=$1&us

php - 特定文件的mod_rewrite异常

我的页面未重定向,因为我的.htaccess文件设置为:RewriteEngineonRewriteCond$1!^(index\.php|resources|robots\.txt)RewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_FILENAME}!-dRewriteRule^(.*)$index.php/$1[L,QSA]我将这种设置用于我的MVC框架,因此我会收到类似/controller/method/argument的网址,但是当我重定向到/forum/login.php时,它会切成/forum/。我如何将其添加为异

php - 从 .htaccess mod_rewrite 规则中排除子域?

我不太熟悉.htaccess文件,我正试图从以下已经存在的重写规则中排除一个子域(例如dev.example.com):RewriteEngineOnRewriteCond%{HTTP_HOST}!^www\.example\.com$[NC]RewriteRule^(.*)$http://www.example.com/$1[L,R=301]此规则禁止任何人只输入example.com或http://example.com并强制显示所需的URL,http://www.example.com.我已经尝试了几个从这个重写规则中排除子域的选项,但都无济于事。站点上的每个目录都有自己的.ht