htaccess友好的URL重写规则


htaccess friendly URL rewrite rule

我最近改变了我的主机,我需要一个htaccess重写规则为我的文件。我试了很多例子,但没有一个真正适合我的情况。我从来没有真正在htaccess和我的旧主机我真的不需要任何东西,它只是工作,但这里不是。基本上,我希望我的PHP文件是没有扩展名和对待像一个目录。例如,我有一个这样的url:

www.domain.com/file1/{id}/{尼克}

例如:

www.domain.com/myfile1/104/username

www.domain.com/myotherfile/455/nick

File1在本例中是一个PHP文件,{id}和{nick}是可更改的。我有这个结构在我的整个网站的许多其他PHP文件等。因此,如果可能的话,我希望对所有文件有一个通用规则。我尝试用htaccess删除php扩展等,但我得到的是404错误。另外,浏览器中的URL应该保持友好,没有PHP扩展。所以在我的情况下,如果我重写我的URL手动:www.domain.com/file1.php/{id}/{nick}它工作了,但我不想改变我的网站上的所有链接等。所以我想要隐藏PHP扩展名,并将PHP文件视为目录。

谢谢

您可以在站点root .htaccess:

中使用此单一通用的前控制器规则。
AcceptPathInfo On
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(['w-]+)/(.*)$ $1.php/$2 [L]