如何.html从静态页面的URL中删除?
此外,我需要将任何网址重定向到没有网址的网址.html.(即www.example.com/page.html到www.example.com/page).
是的,我已阅读Apache手册并在此搜索.出于某种原因,我根本无法让这个工作.我最接近的是删除扩展名,但它指向根目录.我希望这只是在包含该.htaccess文件的目录中工作.
我需要对.htaccess文件做三件事.
我需要它来删除.php
一个.我有几个页面使用选项卡,URL看起来像page.php #tab - 这可能吗?
湾 我有一个页面使用附加到URL的会话ID,以确保您来自正确的地方,www.domain.com/download-software.php?abcdefg.
这可能吗?另外,在执行此操作时,是否需要从头文件导航包含文件中的链接中删除".php"?应该IE "<a href="support.php">support</a>" be <a href="support">support</a>?
domain.com,但是www.domain.com/page.我会继续寻找,尝试等等.会在子目录中导致任何问题吗?
我有一些静态网站,我只想隐藏.html扩展名:
/foo获取静态文件/foo.html/foo然后客户端可以发送风格的书签mydomain.com/foo而不是mydomain.com/foo.html.
这听起来非常简单,mod_rewrite之前我曾经愉快地使用过(比如使用WordPress或重定向),但事实证明这更难破解.也许我错过了一些非常明显的东西,但我无法在任何地方找到解决方案而且我整天都在这里!
我们运行自己的服务器,所以这可以去哪里是最好的地方.
附录
下面检查的解决方案工作正常.然后在运行该网站一段时间后,我注意到两个问题:
所有页面都开始显得格格不入.我重新加载,清除缓存等,但仍然没有风格.我以前遇到过这个麻烦,找不到来源.
有一个目录和一个名为'gallery'的html文件,因此/ gallery链接显示了一个目录列表而不是html文件.我应该可以排序那个,但欢迎进一步提示:-)
可能重复:
使用.htaccess删除.php扩展名
我想将我的所有网站url myurl/webpageexamples.php重命名为非扩展版myurl/webpageexamples -if可能在htaccess-并同时将所有流量从myurl/webpageexamples.php重定向到新的myurl/webpageexamples.
我发现有几个从PHP重定向到非PHP像:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)
我有什么:myurl/webpageexamples.php
我想要的:将搜索引擎优化得分的myurl/webpageexamples转移到新的myurl/webpageexamples
谢谢
编辑:当前.htaccess文件:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
Run Code Online (Sandbox Code Playgroud)
我的网站托管在连接到大型托管帐户的域的子文件夹中.
basesite
/iioengine
/forums
/.htaccess //file works
/.... //other MyBB content
/demos.php
/index.php //iioengine.com (homepage)
/.htaccess //file doesn't work
/... //other iioengine php pages
Run Code Online (Sandbox Code Playgroud)
问题是我正在使用两个不同的htaccess文件吗?
这是一个需要工作的链接:http://iioengine.com/demos
我注意到这个当前的htaccess文件也破坏了所有的论坛URL
这不再有效: …
如何在不创建新目录并命名文件index.php的情况下从网页中删除文件类型.我想http://example.com/google.html访问http://example.com/google.
我该怎么做呢
PS:我试过看一些其他的教程,但那里令人困惑.我现在可以在.htaccess中完成它
我不是htaccess文件的专家,我正在尝试看似非常简单的东西,但我无法做到.
我搜索并最终发现这里的东西可以用于我的使用,但事实并非如此.代码如下.
这是我需要的一个例子:
http://localhost/Test/TestScript.php显示这个:http://localhost/Test/TestScript/脚本在原始位置.
这些是我的规则(复制):
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /Test
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]
## To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_FILENAME}.php [L]
Run Code Online (Sandbox Code Playgroud)
这条规则给出:
Forbidden You don't have permission to access ".../Test/TestScript.php on this server."
所以改为最后一行:
RewriteRule ^.* http://localhost/Test/TestScript.php [L]
Run Code Online (Sandbox Code Playgroud)
但现在得到这个错误:
The page isn't redirecting properly
希望这个地方有才华的人可以帮助我.谢谢.