我有这个网址:
https://website.com/pages/page.php?id=23
我想把它变成:
https://website.com/pages/23
我尝试了以下代码:
RewriteEngine On
RewriteBase /pages/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ page.php?id=$1 [L]
哪个工作。但是我在此/pages
文件夹下有一些文件,需要将其视为常规页面。例如:
https://website.com/pages/login.php
但这被当作ID并尝试重定向到:
https://website.com/pages/page.php?id=login
我尝试将^(.*)$
更改为^([0-9]+)$
,但是它不起作用。
在我的根文件夹中,我还有另一个.htaccess文件,该文件从所有文件中删除了.php扩展名。拥有两个单独的.htaccess文件是不好的做法吗?如果是这样,我如何将它们结合起来?
.htaccess文件如下:
ErrorDocument 404 /error/404.php
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteCond %{REQUEST_URI} [^/]$
RewriteRule ^(.*)$ $1.php [L]
所以我的问题是: