簡體   English   中英

使用htaccess將帶有/不帶.php擴展名的URL重定向到index.php

[英]Redirect url with/without .php extension to index.php using htaccess

我使用Shephertz的非常基本的URL路由機制來路由我的頁面。 但是我遇到了文件擴展名的問題。

如果我加載www.example.com/register ,則得到index.php ,但保留URL。

但是,如果我加載www.example.com/register.php ,它不會將我發送到index.php ,而是保留URL。 怎么會?

這是我的.htaccess文件,適用於非擴展名:

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

如何將兩者結合起來? 我希望將它們都標記為藍色...

要將所有外部php請求重定向到404,您可以在.htaccess中使用以下規則:

RewriteCond %{THE_REQUEST} /.+\.php [NC]
RewriteRule ^ - [L,R=404]

我自己使用RewriteCondRewriteRule解決了這個問題。 這是我的.htaccess現在的樣子:

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} /.+\.php [NC]
RewriteRule ^ index.php [QSA,L]

現在,我可以使用Shephertz的路由機制將所有帶有.php文件擴展名的URL重定向到自定義404頁面。

  • www.example.com/example.php-> 404page.php
  • www.example.com/example-> example.php

這是404頁:

在此處輸入圖片說明

這是沒有.php文件擴展名的頁面

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM