编写正确的重写规则.htcaccess并包含

时间:2015-06-30 08:15:28

标签: php apache .htaccess

我有一个真正简单的网站,没有cms或任何东西(我希望保持简单),网站结构建立在命名文件夹上,其中包含index.php内的相应内容。

我设法使用以下规则编写.htaccess

RewriteEngine On
RewriteBase /testSite/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /testSite/index.php/$1 [L]

这给了我很漂亮的网址,就像我想要的那样,但是我可以说我去了第二个子页面,等等/testSite/subpage/secondsubpage而是重定向到/testSite/secondsubpage

修改:这就像我想要的那样给了我很漂亮的网址,但是我可以通过点击链接来查看第二个子页面等/testSite/subpage/secondsubpage 它不会继续构建网址,而是将您转到/testSite/secondsubpage

我的子页面上的链接看起来像<a href="secondsubpage">Click me!</a>

最后,我希望网站的功能如下:子索引将包含在导航的主索引页面主体上,以便页眉和页脚保持不变。感觉非常不干,不得不将它们包含在每个子页面上。可能是一个单独的问题,但我不确定这是由.htaccess还是php(php不是我的主要语言)处理的。

旁注:我已经研究过ALOT,并且无法使用这个,正则表达式和&#34;在幕后&#34;像.htaccess文件这样的东西对于像我这样的前卫来说不是一杯茶。

1 个答案:

答案 0 :(得分:1)

如果您的链接(例如)/testSite/subpage看起来像

<a href="secondsubpage">Click me!</a>
然后它会导致/testSite/secondsubpage。不以/开头的链接将有效地从当前页面所在的相同文件夹开始。

为了链接到/testSite/subpage/secondsubpage,链接可以是绝对的:

<a href="/testSite/subpage/secondsubpage">Click me!</a>

绝对链接虽然更长,但可以避免所有混淆。或者,如果您希望它仍然是相对的,/testSite/中的任何链接都必须如下:

<a href="subpage/secondsubpage">Click me!</a>

有关更多示例,请从/中的页面链接到此页面:

<a href="testSite/subpage/secondsubpage">Click me!</a>