2013-11-21 79 views
0

我一直在这一段时间,但htaccess重写它的驱使我喝。所以我正在寻找比我更聪明的人。htaccess友好的网址地狱

我有一个测试网站,像这样:

www.domain.com/directory/index.php 

但我想使用友好的URL。所以我想这对所有直接去的index.php:

www.domain.com/directory/ 
www.domain.com/directory/index.php 
www.domain.com/directory/index.php/arg1/arg2/arg3/arg4 
www.domain.com/directory/calendar/arg1/arg2/arg3/arg4 
www.domain.com/directory/anything-here 

回答

0

尝试在directory文件夹添加在htaccess文件下列规则:

RewriteEngine On 
RewriteBase /directory/ 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^index.php [L] 

事情怎么被路由取决于最后线。如果你想把它当作参数传递:

RewriteRule ^(.*)$ index.php?request=$1 [L] 

,或者如果你想使用$_SERVER['PATH_INFO']变量:

RewriteRule ^(.*)$ index.php/$1 [L] 
+0

我有一些问题在子目录失去如CSS,图片和jQuery资产,他们会用这个吗?老实说,我有这么多的失败是荒谬的。但我会试一试。 – Maelish

+1

@ user2070436我猜这样的东西是因为你的页面内容中有相对的URL。试试把这个添加到你的页面头部:''(或者任何基地应该是,也许''?) –

+0

基地标签是一个很好的理念。它修复了这个问题的一部分但是如果我尝试'www.domain.org/directory/test',那么我会得到一个服务器错误页面。我使用'RewriteRule ^(。*)$ index.php/$ 1 [L]'行。 – Maelish