链接(其中没有/ index)不指向该子目录的索引

时间:2017-06-06 13:48:12

标签: html apache mod-rewrite static-linking subdirectory

我已经寻找了大约两个小时的解决方法,这无济于事:

为了方便我提供链接:malumkose.com malumkose.com/hizmetler

在主页面(第一个链接)中有一个指向页面“hizmetler”的按钮链接。

当我将这些页面相互链接时,我没有在链接中添加/ index或/index.html扩展,并认为它可以像在localhost上一样在服务器上运行。

问题是,我的网站充满了这些链接 - 它们都在关节!我会去手动更改这些以添加文件扩展名,但这只会导致链接指向“hizmetler / index”而不仅仅是“hizmetler”。

我尝试将第一行添加到我的.htaccess文件中,但它仍然没有将没有索引的链接指向这些子目录的索引。

`DirectoryIndex index.html
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]`

我怎么可能一石二杀这两只鸟?

1 个答案:

答案 0 :(得分:0)

我不完全理解您网页文件的结构,但这对您的.htaccess文件有用:

Options +FollowSymLinks
RewriteEngine On
DirectoryIndex index.html

RewriteRule ^hizmetler$ ./hizmetler/index.html
RewriteRule ^something$ ./something/index.html
RewriteRule ^something-else$ ./something-else/index.html

然后它将如下工作:

  • malumkose.com/> /index.html
  • malumkose.com/hizmetler> /hizmetler/index.html
  • malumkose.com/something> /something/index.html
  • malumkose.com/something-esle> /something-else/index.html

如果要强制使用SSL / HTTPS,请添加(在上述脚本的输入之间):

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]