我设置了htaccess文件,以便我的网站页面不需要显示扩展名,我的链接设置如下,最后是斜杠:

 www.mywebsite/about/

这些链接有效 - 但如果我直接输入

 www.mywebsite/about.html 

该网站将显示此页面的html扩展名。 是否有一种方法可以阻止扩展显示,即使它们是直接输入的? :S

我的大多数页面都是html,除了一个php页面。 这就是我在htaccess中所拥有的:

Options -Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ %{REQUEST_URI}/ [L,R=301]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)/$ $1.html [L]
RewriteRule ^php-page/([^/\.]+)/?$ php-page.php?p=$1 [L]

如果有人能帮我解决这个问题,我真的很感激! :)

===============>>#1 票数:0

请试试这个:

Options -Indexes
Options +FollowSymLinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^(.*)\.html$
RewriteRule .* %1/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ %{REQUEST_URI}/ [L,R=301]

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)/$ $1.html [L]

RewriteRule ^php-page/([^/\.]+)/?$ php-page.php?p=$1 [L]

我认为它可以做得比这更好,但它应该工作。

  ask by Jess translate from so

未解决问题?本站智能推荐:

1回复

htaccess将.htm和.php页面重定向到无扩展名

我正在重建一个现有网站,该网站在php中包含.htm扩展名。 我的.htaccess文件中包含以下内容,因此.php文件是无扩展名的,但是如何将任何潜在的.htm页面重定向至无扩展名的.php页面?
2回复

通过“ .htaccess”将php显示为html,php扩展名也将不起作用

我真的需要帮助。 我知道,如果我在.htaccess文件中添加以下行,则php将显示为html。 RewriteRule ^(.*)\\.html$ $1.php 当我写http://example.org/abc.html ,实际上abc.php正在执行。 但是当我写http:
3回复

将在Apache上使用.htaccess文件以.HTML扩展名结尾的PHP页面

我有一个2岁的静态HTML和CSS网站。 该网站有150多个页面,要进行更新(例如边栏内容,菜单,头部或页脚),需要进行大量工作。 因此,现在我想将我的静态HTML和CSS网站转换为PHP(并使用php include),但是由于SEO原因(反向链接到我的网站),我想保留.html文件扩
1回复

使用htaccess删除.php扩展名

这个问题已经在这里有了答案: 参考:mod_rewrite,URL重写和“漂亮链接”解释了 4个答案 我正在尝试从网址栏中的页面中删除扩展名。 例如:../ about.php => ../about 我现在在htaccess文件中使用的代码是在这
1回复

htaccess基于扩展名重定向,但仅在一个域上

我刚刚安装了CMS,所有页面名称文件扩展名现在都更改为.php而不是.html。 有人告诉我,编辑.htaccess是实现此目的的最佳方法,但是,为此,我必须在托管帐户的根目录中进行更改,并且我的帐户(hostgator)中有多个域,我只想要该规则专门适用于一个域-并非所有域。 我该如何实现
1回复

从URL(.htaccess)中删除.php扩展名

这个问题已经在这里有了答案: 使用.htaccess删除.php扩展名 13个答案 我一直在尝试使用此代码从我的网址中删除.php结尾,但无法正常工作。 这是我的.htaccess文件: 我将该文件放入了public_html文件夹中。 由于某些原因,它
1回复

HTAccess重定向和删除文件+扩展名

如果用户输入 要么 我想重定向到 这是我的htaccess: 但是由于某种原因,当我输入www.example.com/Front.php ,页面会加载,但url不变,它仍然是/Front.php 。 我需要添加/更改什么才能使其正确重定向? 谢谢
1回复

htaccess不重写扩展名或斜杠

我希望服务器上的每个文件都像这样的“ mywebsite.com/video?id=vgIjgt863_53”,我已经安装了php,所以目前看来我需要这样的“ mywebsite.com/video.php?id=(id)”这在htaccess中
2回复

.htaccess中的隐藏文件扩展名

我在网站URL上隐藏了文件扩展名,我想知道是否需要更改其他页面上的链接。 例如,如果我有“ www.example.com/packages”,那么我应该将指向该页面的链接从href =“ packages.php”更改为href =“ packages”,因为文件扩展名现在只是'pack
2回复

htaccess 404 redirect适用于.html扩展名,但不适用于.php扩展名

我已经制作了一个自定义的404页面并插入到我的htaccess文件中: 每当我测试没有扩展名或.html扩展名的网址时,错误直接正常工作。 但是,当我输入一个扩展名为.php的网址时,会显示一个空白页面,其中包含“未指定输入文件”的消息。 弹出。 我还需要做些什么才能为.php