Php 删除文件扩展名并允许";伪目录;?

Php 删除文件扩展名并允许";伪目录;?,php,apache,.htaccess,url,mod-rewrite,Php,Apache,.htaccess,Url,Mod Rewrite,我正在创建一个相当简单的网站。根文件夹中有两个静态页面(主页和公文包),Wordpress位于/blog中。静态页面包括使用require_once(“blog/wp config.php”)的Wordpress 公文包页面将使用Javascript(History.JS或Crossroads/Hasher)来“推送”表示类别和相册的URL。例如,单击左侧的“婚礼”将生成portfolio/Weddings,相册将是portfolio/Weddings/jane jon smith。这些文件需要

我正在创建一个相当简单的网站。根文件夹中有两个静态页面(主页和公文包),Wordpress位于
/blog
中。静态页面包括使用
require_once(“blog/wp config.php”)的Wordpress

公文包页面将使用Javascript(History.JS或Crossroads/Hasher)来“推送”表示类别和相册的URL。例如,单击左侧的“婚礼”将生成
portfolio/Weddings
,相册将是
portfolio/Weddings/jane jon smith
。这些文件需要在直接访问时可用(我向您发送相册的链接)

现在,我已经将其设置为可以从
index.php
portfolio.php
访问静态页面。我能够使用以下.htaccess指令删除文件扩展名:

# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php [L]
但是当我试图访问一个URL,比如
公文包/weddings
,我会得到一个404错误,因为那不是一个有效的目录或文件。我一直在搜索,但似乎找不到任何相关的东西,除了如何删除扩展(我正在工作)


如何删除文件扩展名并允许直接访问这些“假”目录?

Wordpress使用前端控制器创建您所称的“psuedo目录”。它获取url的参数,并相应地将其路由到应用程序控制器,以构建视图层或客户端所看到的内容

为了让Wordpress相应地发送此请求,您需要为每个投资组合条目设置相应的页面。您可以使用Wordpress的默认功能来执行此操作。撤消对.htaccess文件的更改,改为将设置中的永久链接设置更改为“Post Name”

对于静态页面,使用内置的动态公文包可能比使用定制的滚动“小部件”更容易。您的静态页面可以设置为显示具有正确WP主题的公文包项目


Wordpress最大的优点是它可以做非常高级的事情,只需更改仪表板中的设置。我建议您花一些时间研究每个功能都能做些什么,这样在12月WP推出下一个版本时,您就不必对自己的代码进行故障排除,从而节省了大量时间和大量麻烦。

在我对这个问题发表评论后,我突然想到,也许我应该重定向任何与“公文包/*”匹配的内容到portfolio.php,从那里我可以使用几个函数处理路径(现在已经成功运行了)

我所做的只是在问题中列出的规则之后立即添加这一行:

RewriteRule ^portfolio/([^/]+) /portfolio.php?$1 [NC]

我想我需要重定向任何与“portfolio/*”匹配的内容,并将其发送到“portfolio.php”。我该怎么做?谢谢你的回答。部分原因是因为我在这个项目中寻找的复杂性和效果将更难通过Wordpress,因为大量的黑客攻击或需要的插件,主要是因为我需要一个好的借口来学习jQuery/Javascript和一些PHP。很高兴至少尝试一下!我只是鼓励你花更多的时间学习Wordpress的继承功能。我想你会惊讶于它能做什么,你现在认为它对Wordpress来说太复杂了。归根结底,Wordpress是目前最有能力的MVC/CMS平台之一。我已经与Wordpress合作两年多了,所以我肯定知道它的能力。我只是有时候喜欢挑战自己,有时也应该如此