重定向目录中的所有文件以获取?id =

时间:2017-02-06 09:42:53

标签: php .htaccess redirect url-rewriting

我的htaccess中有这个

 RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php 

这对于重定向示例中的所有文件非常有用: login.php到/ login或apply.php到/ apply

现在如何从我的目录中的所有文件中获取ID以重定向示例:

RewriteRule ^home/([A-Za-z0-9-]+)/?$ home.php?id=$1 [NC,L]
RewriteRule ^home/([A-Za-z0-9-]+)/home/?$ home.php?id=$1 [NC,L]

这需要home.php?id = 72并将其重定向到/ home / 72 - (这就是我想要实现的所有文件)

但是目前我必须在我的htaccess中为每个查询id = $的文件添加相同的2行。

任何帮助都会受到大量赞赏。

1 个答案:

答案 0 :(得分:1)

我假设你正在重写下面的规则,

RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^([\w-]+)$ $1.php [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/([\w-]+)$ $1.php?id=$2 [QSA,NC,L]