我正在创建一个相当简单的网站。根文件夹中有两个静态页面(主页和项目组合),/blog中有Wordpress。静态页面包括使用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]但是当我尝试访问portfolio/weddings之类的URL时,我得到了一个404错误,因为这不是一个有效的目录或文件。我一直在搜索,但似乎找不到任何相关的东西,除了如何删除扩展(我正在工作)。
如何删除文件扩展名并允许直接访问这些“伪”目录?
发布于 2012-10-20 10:15:49
在发表了我对这个问题的评论后,我突然想到,也许我应该将任何与"portfolio/*“匹配的内容重定向到portfolio.php,然后从那里我可以使用几个函数来处理路径(现在已经成功地工作了)。
我所做的就是在问题中列出的规则后面添加下面这一行:
RewriteRule ^portfolio/([^/]+) /portfolio.php?$1 [NC]发布于 2012-10-20 09:12:32
Wordpress使用一个前端控制器来创建你所说的“psuedo目录”。它获取url的参数,并相应地将其路由到应用程序控制器,以构建视图层或客户端看到的内容。
为了让Wordpress相应地路由此请求,您需要为每个portfolio条目提供相应的页面。您可以使用Wordpress的默认功能来完成此操作。撤消对.htaccess文件的更改,改为将设置中的固定链接设置更改为“帖子名称”。
只使用内置的dynamic portfolio可能比为您的静态页面使用自定义滚动“小部件”更容易。您的静态页面可以设置为显示正确的可湿性粉剂主题的项目组合。
Wordpress的伟大之处在于它可以做非常高级的事情,只需改变仪表板中的设置即可。我建议你花一些时间研究每个功能都能做些什么,这样当WP在12月份推出下一个版本时,你将节省很多时间,并节省很多令人头疼的事情,因为你不必解决自己的代码问题。
https://stackoverflow.com/questions/12984318
复制相似问题