重写url以隐藏查询字符串并将.php转换为path

时间:2017-01-09 17:18:43

标签: .htaccess url url-rewriting

这是我实际的.htaccess filw:

RewriteEngine On
RewriteBase //
#RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . //index.php [L]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]

这是我的根。现在我有一个索引文件重定向到/ production的内容。

所以我的网站就在这里:www.mywebsite.com/production/index.php

在生产文件夹中,我有另一个.htaccess文件:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+|)/?$ index.php?nav=$1 [QSA]

但是出了点问题。实际上,如果我转到www.mywebsite.com/production,它会显示我的索引。但是,如果我浏览其他页面,例如www.mywebsite.com/production/contacts,则不会再次加载contacts.php,而是index.php

关于查询字符串,我认为生产文件夹中的.htaccess文件仅从索引重写查询字符串,而不是用于例如contacts.php?nav=something。怎么了?这太令人困惑......我已经尝试了几个小时。

0 个答案:

没有答案