Apache 如何修改web应用程序的.htaccess(与WordPress 3.0.1结合使用)

Apache 如何修改web应用程序的.htaccess(与WordPress 3.0.1结合使用),apache,wordpress,.htaccess,apache2,Apache,Wordpress,.htaccess,Apache2,我的问题是关于.htaccess的 我使用WordPress 3.0.1作为web应用程序的前端。 我希望大多数HTTP访问遵循正常的WordPress流 然而,我在WordPress中创建了一个特殊页面,其中嵌入了支持我的web应用程序的PHP代码 此表单的URLhttp://site.com/app/ 已经转到正确的页面 此表单的URLhttp://site.com/app/?a=alpha&b=beta 转到同一页,并将参数传递到我的web应用程序。这是正确的,但是URL看起来很难看 我的

我的问题是关于.htaccess的

我使用WordPress 3.0.1作为web应用程序的前端。 我希望大多数HTTP访问遵循正常的WordPress流

然而,我在WordPress中创建了一个特殊页面,其中嵌入了支持我的web应用程序的PHP代码

此表单的URLhttp://site.com/app/ 已经转到正确的页面

此表单的URLhttp://site.com/app/?a=alpha&b=beta 转到同一页,并将参数传递到我的web应用程序。这是正确的,但是URL看起来很难看

我的问题是:

我想要这种格式的好看的URL:

http://site.com/app/alpha/beta
以这种方式重写->

http://site.com/app/?a=alpha&b=beta
我曾尝试在.htaccess中添加各种内容,但无法使其正常工作。我通常会看到一个WordPress404页面

以下是安装WordPress 3.0.1时创建的.htaccess文件

# .htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我相信一定有很多人使用WordPress作为他们的web应用程序的前端,还有一些人在.htaccess语法方面有专业知识。如有任何答案或解决方案,将不胜感激

提前感谢,

大卫·琼斯

dxjones@gmail.com


大卫,我不知道答案,但我有个想法

您可以使用如下插件:

它允许您在页面或帖子中执行代码


如果查看WP文档,您可以轻松地将另一个PHP应用程序绑定到WP中。

首先,要在.htaccess中使用重写规则,需要两件事:

Options +FollowSymlinks
RewriteEngine on
然后,此规则将执行您描述的操作:

RewriteRule ^app/([^/]+)/([^/]+) /app/?a=$1&b=$2 [L]
仅供参考。。。[^/]匹配除以下字符以外的任何字符:/ 最后的[L]将使用户看不到重写,它只传递给应用程序。 使现代化 要使使用旧链接的访问者自动重定向到更好的URL,并可能改进webapp页面的搜索引擎映射,请添加类似以下规则的附加规则:

 RewriteCond %{QUERY_STRING} a=([^&]+)&b=([^&]+)
 RewriteRule ^app/?$ /app/%1/%2  [R=301]
上面的规则将a和b参数转换为您的漂亮URL-但是,它不会传递额外的查询参数。i、 e.site.com/app?a=me&b=you&tag=zebra将重定向,但“tag”参数将在该过程中被丢弃。以下是允许附加参数的变体:

 RewriteCond %{QUERY_STRING} (^|.*&)a=([^&]+)&b=([^&]+)(&.*|$)
 RewriteRule ^app/?$ /app/%2/%3?%1%4  [R=302]

这并不能回答我的问题。。。我已经在使用execphp插件在我的WordPress页面app上执行PHP代码了。这是有效的。我的问题是关于使用.htaccess重写HTTP请求,以便将URL1=重写为URL2=。如果我直接输入URL2,一切正常。我想知道如何使URL1正常工作。