我希望将www.example.com/about.php转换为www.example.com/about。
我创建了一个.htaccess文件并将其放置在服务器的根目录下。我正在使用Linux共享托管,PHP版本为5.2。
我创建了一个.htaccess文件并将其放置在服务器的根目录下。我正在使用Linux共享托管,PHP版本为5.2。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
看起来这段代码应该可以正常工作,但出于某些原因它却不能。当我试图访问没有.php扩展名的页面时,会收到404错误。
以下是我的标记:
<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扩展名的链接会跳转到页面,但不会去掉扩展名。
我进行了一项测试,以查看module_rewrite是否已启用,方法是输入一些垃圾内容并返回500错误。