我希望www.example.com/about.php只是www.example.com/about
我创建了一个.htaccess文件并将其放置在我的服务器的根目录下。我使用的是Linux共享主机。PHP版本5.2
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
字符串
看起来这段代码应该可以正常工作,但由于某种原因,它不能正常工作。当我试图导航到一个没有.php扩展名的页面时,我得到了一个404错误。
这也是我的Markup:
<nav>
<div class="container">
<ul>
<li><a href="index.php" <?php if (strpos($_SERVER['PHP_SELF'], 'index.php')) echo 'class="current-nav"';?>>home</a></li>
<li><a href="about.php">about</a></li>
<li><a href="services">our services</a></li>
<li><a href="portfolio" <?php if (strpos($_SERVER['PHP_SELF'], 'portfolio.php')) echo 'class="current-nav"';?>>portfolio</a></li>
<li><a href="testimonials" <?php if (strpos($_SERVER['PHP_SELF'], 'testimonials.php')) echo 'class="current-nav"';?>>testimonials</a></li>
<!--<li><a href="#">client area</a></li>-->
<li><a href="contact" <?php if (strpos($_SERVER['PHP_SELF'], 'contact.php')) echo 'class="current-nav"';?>>Contact</a></li>
<li><a href="order" <?php if (strpos($_SERVER['PHP_SELF'], 'order.php')) echo 'class="current-nav"';?>><strong>Free Quote</strong></a></li>
</ul>
</div>
</nav><!--/navigation-->
型
你可以看到我尝试在链接中使用php扩展名,也尝试不使用。带有php扩展名的链接会转到页面,但不会删除扩展名。
我做了一个测试,通过放入一些垃圾并返回500错误来查看是否启用了module_rewrite。
6条答案
按热度按时间yyyllmsg1#
使用以下代码隐藏/删除
.php
扩展名:字符串
u4dcyp6a2#
所以在与谷歌进行了长时间的较量后,我终于想出了这个办法。这适用于Godaddy共享主机。它删除了php文件扩展名,因此http://yoursite.com/about.php成为http://yoursite.com/about
字符串
(在上传到服务器之前删除评论)
2sbarzqh3#
我也有这个问题,但我发现这似乎解决了GoDaddy .htaccess问题。
字符串
p8ekf7hl4#
粘贴在我的.htaccess文件中的所有内容为我工作.
字符串
c8ib6hqw5#
您的重写规则不正确,方法错误。请尝试以下操作:
字符串
t9aqgxwy6#
这项工作对我来说,与ChatGTP的帮助4
字符串