从URL切割一个文件夹的.htaccess,说文件夹可以

问题描述:

我已经彻底搜查各种方法来删除文件夹是在URL的中间,如下图所示的例子中的网址在任何地方:从URL切割一个文件夹的.htaccess,说文件夹可以

我有什么:

http://www.website.com/company/pages/section/content 

我想摆脱/页/部分,因此它看起来就像这样:

http://www.website.com/company/section/content 

值得注意的是,我已经使用位的.htaccess的,删除.php扩展名nsion从出现,所以也许这与所需的重定向冲突?下面是我用它来去除.PHP:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC] 

到目前为止,我已经找到了解决方案,似乎如果你想删除的URL后,作为根文件夹的工作很大,但/页/文件夹可以在我工作的网站(有时它们位于根,有时位于/ company /之后,有时位于/ company/data /之后)的任何级别上。唯一可以预测的是文件夹的名称,它始终是“/ pages”。

供参考,这是我试过的方法没有奏效:

Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteRule ^pages/(.*)$ /$1 [L,NC,R] 

在此先感谢任何人谁可以提供帮助。

+0

哪里是你的.htaccess在什么位置? '/ company'是一个真正的目录吗?同时显示您的完整.htaccess问题 – anubhava 2015-02-24 15:00:52

+0

.htaccess位于根(http://www.website.com/)。当前htaccess:选项+ FollowSymlinks -MultiViews RewriteEngine在 RewriteCond%{REQUEST_FILENAME}!-f RewriteRule ^([^ \。] +)$ $ 1.php [NC] – Bad 2015-02-24 15:01:47

试试这个代码在根目录的.htaccess:

Options +FollowSymlinks -MultiViews 
RewriteEngine On 

RewriteRule ^(company)/((?!pages/).+)$ $1/pages/$2.php [L,NC] 

RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC] 
RewriteRule ^([^.]+)/?$ $1.php [L] 
+0

您好,感谢您的帮助。有了这个,我得到一个错误,而不是页面:未找到在此服务器上找不到请求的URL /公司/网页/节/内容。 – Bad 2015-02-24 15:14:54

+0

使用添加的R,页面确实加载,但/ pages /仍在url中。也许我应该尝试重新安装我的Apache,看起来像我的问题是不应该发生的事情。 – Bad 2015-02-24 15:21:09

+0

不,在一家公司的网站上工作,这是从别人的头开始构建的。 – Bad 2015-02-24 15:23:54