2014-05-22 38 views
0

这是我的网站。 http://matiny.tk/Antihero.html 正如你所看到的,.html扩展只是坐在最后。 .htaccess不适用于我。它会导致CSS丢失,或者网站有500个内部错误。如何删除.html扩展名而不是.htaccess?

我正在使用cPanel。

以下是不能正常工作的代码。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\ .html -f 
RewriteRule ^(.*)$ $1 .html 

这下一个只是略有不同。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.*)$ $1.html 

我这一个从别人Youtube上...

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ $1 .html [L,QSA] 
+0

你不能因为据我所知 –

+0

由于只有'.html'文件和后面没有框架,你不能。 –

+0

为了澄清你是否说你想通过'http:// matiny.tk/Antihero'访问该页面?如果是这样,我们可能需要更多关于你的服务器的信息,等等。 – Chris

回答

1

有一个丑陋的变通办法:

你的文件重命名为index.php,并把它称为Antihero文件夹内。

但更好的是使用.htaccess。你说你不能使用它。向我们显示您的.htaccess,我们将帮助您使用它!

编辑在试试这个你.htaccess

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.*)$ $1.html [L,QSA] 
+0

如果你看看网站http://matiny.tk/Antihero/ 你会看到CSS被暗杀了。 – BigDaddyMat

+0

@BigDaddyMat请不要在URL后面加一个斜线。 (Stackoverflow甚至隐藏了尾部的斜线,一旦你点击链接就会看到它。)其余的,所有的东西在这里看起来都不错:http://matiny.tk/Antihero。 CSS工作正常。 –

+0

然后我的系统出现问题,因为我看到了内部服务错误。 – BigDaddyMat

1

什么你想是什么所谓漂亮的URL。

Options +FollowSymLinks 
RewriteEngine On 

RewriteRule ^Antihero$ ./Antihero.html 

这样你就可以分享您的http://matiny.tk/Antihero链接,你Apache将保留该链接而下它的实际服务Antihero.html。

在这里看到一些更多的信息:http://code.tutsplus.com/tutorials/using-htaccess-files-for-pretty-urls--net-6049

编辑: 你的最后一个例子工作正常,我在我的htaccess的文件。 [示例链接已被删除(不再使用服务器上的.htaccess)]。如果它仍然没有工作,你能验证你的htaccess支持在apache中被启用吗?

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.*)$ $1.html 
相关问题