Questions tagged «mod-rewrite»

Apache Web服务器的URL重写模块

3
了解htaccess中的Apache 2.4 mod_proxy_fcgi和RewriteRules
我们最近将其中一台Web服务器切换为apache 2.4,并通过php-fpm和mod_proxy_fcgi运行PHP。大多数事情都运行良好,但是有一个我还不了解的问题。我们的网站之一正在运行WordPress,该网站在其.htaccess文件中提供了大量重写规则。似乎这些与vhost设置中的ProxyPass指令不能很好地配合使用。 我们的虚拟主机包含以下配置: ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.2:9126/<path>/$1 在大多数情况下,这是可行的。 现在,htaccess文件可以执行以下操作: RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L] 由于该站点是子目录中的多博客,因此我读到URL /blogname/wp-admin/load-styles.php?xxxx应该重写为wp-admin / load-styles.php?xxx(第二个重写规则)。但是查看mod_proxy日志,实际上传递的请求是/blogname/wp-admin/load-styles.php。 我读此书是因为存在优先级问题– ProxyPass规则在所有RewriteRules处理完毕之前就触发了。 我受阻-可能是什么原因?

6
找不到apache服务器状态。检查是否启用了mod_status
我已经apache_在munin节点上启用了插件: ln -sv /usr/share/munin/plugins/apache_* /etc/munin/plugins/ 重新启动节点后,service munin-node restart这里是我得到的错误: $ munin-node-configure --suggest 2>/dev/null | grep "apache\|Plugin\|------" Plugin | Used | Suggestions ------ | ---- | ----------- apache_accesses | yes | no [apache server-status not found. check if mod_status is enabled] apache_processes | yes | no [apache server-status not found. check if …

1
创建虚拟主机并将其转发子域
苏大师 我有一个简单的.htaccess文件,在该文件中,我的Webapp只将非www重定向到www。现在我要做的是 创建一个新的虚拟主机,例如http://subdomain.mydomain.tld 为任何人进入该子域创建一个重定向到我的应用程序上的文件夹,例如app / webroot / subdomain 我当前的.htaccess看起来像这样 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.mydomain\.tld [NC] RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301.L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app/webroot/$1 [QSA,L] </IfModule> 我将如何处理?我可以在.htaccess文件中完成所有这些操作,还是需要与GoDaddy混淆?如果可以的话,我宁愿不在应用程序中执行此操作。 我正在运行Ubuntu 10.04 + Apache 2.2.14-5 谢谢

2
在线mod_rewrite测试工具
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 mod_rewrite的语句是很难编写和调试,所以我需要一个轻量级的在线工具,使我来测试我的RewriteCond,RewriteRule在飞行语句。 有这样的工具吗?

1
如何在mod_rewrite RewriteCond中访问GET参数?
我正在尝试从mod_rewrite访问GET参数。 例如,给定以下URL:http : //myserver.com/foo.png?foo=bar 以下规则无法捕获此URL: RewriteCond %{REQUEST_URI} bar [NC] 虽然这个做: RewriteCond %{THE_REQUEST} bar [NC] REQUEST_URI是否不包含GET参数?THE_REQUEST是要走的路吗?

1
使用mod_rewrite的.htaccess重定向规则
我有一个PHP脚本,可根据查询从数据库动态生成内容。用户可能会在文本框中搜索用户名“ mark”。内容由PHP提供,位于www.domain.com/?username=mark,尽管我希望用户将提供的URL视为www.domain.com/username/mark.html。同样,用户可以按配置文件(整数)进行搜索。内容在www.domain.com/?profile=2上生成。我希望用户将提供的网址视为www.domain.com/profile/2.html。这可行吗? 这是我的.htaccess文件: RewriteEngine On RewriteRule ^username/([^/]*)\.html$ /?username=$1 [L] RewriteRule ^realname/([^/]*)\.html$ /?realname=$1 [L] RewriteRule ^profile/([^/]*)\.html$ /?profile=$1 [L] 已启用Mod_rewrite,但此文件似乎无法正常工作。

1
具有代理和更改内容类型的Apache RewriteRule
当前,我们正在使用mod_proxy代理以通过以下行代理到正确的目标: ProxyPass /我的路径平衡器:// server / path / to / real / thing 但是,第三方向我们发送了内容类型错误的请求。无法更改它们,因此我认为使用mod_rewrite可以通过以下操作实现此目的 RewriteRule ^ / my-path(。*)balancer:// server / path / to / real / thing $ 1 [P,T = text / xml] 但是,这似乎没有执行任何操作,并且该规则似乎没有在执行。 是否可以使用mod_rewrite实现此目的,我是否为此目的正确设置了此设置?

1
Mod Rewrite-检查特定目录中的文件
我正在使用以下mod rewrite脚本,我想对其进行更改以尝试在特定目录中查找文件,请有人提示我如何实现此目的吗? <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 重写需要检查文件名是否在请求的位置,如果失败,它将在目录'/ themes / theme1'中进行检查,最后,当上述两个文件失败时,它将进入/index.php。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.