Php .htaccess多重url重写

Php .htaccess多重url重写,php,.htaccess,Php,.htaccess,我已经准备好了一个项目。现在客户端想要重写整个url…即(www.mydomain/page.php)到www.mydomain/page等 有多个页面。文件夹中大约有10-15页。我们是否有可能使用.htaccess在给定的快照中重写这些页面的整个url 此外,这些页面的链接带有“.php”和“.html”扩展名,以便导航到其他页面。。 现在,我应该手动删除所有这些扩展,还是可以通过其他方式(例如.htaccess)进行更改 谢谢您可以在.htaccess文件中使用类似的内容 RewriteE

我已经准备好了一个项目。现在客户端想要重写整个url…即(www.mydomain/page.php)到www.mydomain/page等

有多个页面。文件夹中大约有10-15页。我们是否有可能使用.htaccess在给定的快照中重写这些页面的整个url

此外,这些页面的链接带有“.php”和“.html”扩展名,以便导航到其他页面。。 现在,我应该手动删除所有这些扩展,还是可以通过其他方式(例如.htaccess)进行更改
谢谢

您可以在
.htaccess
文件中使用类似的内容

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
通过这种方式,您可以使用如下URL:

mydomain.com/page

mydomain.com/page/test


但是请注意,所有请求都将被移动到
index.php
,因此
index.php
将像路由器一样。

您需要添加一些内容来了解它是php还是HTML,如

all .php files becomes www.mydomain.com/p/page
and .html files become www.mydomain.com/h/page
(这需要另一套htaccess规则,而不是下面的规则)

或者,您可以将所有.html文件更改为.php,这样会更容易。。
您现在可以让所有文件隐藏其.php扩展名,如

www.mydomain.com/page.php becomes www.mydomain.com/page
为此,请在.htaccess put上执行以下操作:

RewriteEngine On

# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]

# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php [L]

我在做了一些研究之后编辑了我的答案,因为你需要添加301个从旧链接到新链接的重定向,所以上面的代码现在应该可以工作了。答案如下:

在您的根目录中尝试Apache提供的此功能。htaccess:

Options +MultiViews

因此,您基本上希望从所有URL中删除扩展名?是的,如果我手动擦除.php扩展名(将所有页面转换为php),代码工作正常。。。但是现在这些页面中的链接如何?我应该通过删除所有文件中的.php手动更改所有链接吗?这是处理多个页面的.htaccess的唯一情况吗?您不需要删除文件中的.php。。如果您在浏览器上访问
www.mydomain.com/page
,您将获得
www.mydomain.com/page.php
。。。