Tôi muốn www.example.com/about.php chỉ được www.example.com/aboutLoại bỏ .php phần mở rộng tập tin với tập tin .htaccess
Tôi tạo ra một tập tin .htaccess và đặt nó trong thư mục gốc của máy chủ của tôi. Tôi đang sử dụng lưu trữ được chia sẻ trên linux. Phiên bản PHP 5.2
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Dường như mã này sẽ hoạt động bình thường, nhưng vì một lý do nào đó mã này không hoạt động. Tôi gặp lỗi 404 khi cố gắng điều hướng đến trang không có phần mở rộng .php.
Dưới đây là đánh dấu của tôi quá:
<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-->
Bạn có thể thấy tôi đã cố gắng sử dụng phần mở rộng php trong liên kết và cũng đã cố gắng mà không có. Các liên kết với phần mở rộng php đi đến trang, nhưng không loại bỏ phần mở rộng.
Tôi đã kiểm tra xem liệu module_rewrite đã được bật chưa bằng cách đặt vào một số rác và trả lại lỗi 500.
nếu lưu trữ của bạn được chia sẻ, hơn thử bài viết này để làm cho nó thực hiện. http://www.kvcodes.com/2016/02/godaddy-remove-php-extension/ – Kvvaradha
Tôi đã khái quát câu hỏi này, vì nó dường như không cụ thể với godaddy hoặc php. – Braiam