如何将example.com/index.php?p=25&nav=left
替换为example.com/page/25/left
,如果可能,我还想阻止访问我的index.html文件。
如果有人输入example.com/index.php
将其重定向到welcome.php
感谢。
答案 0 :(得分:1)
您可以在DOCUMENT_ROOT/.htaccess
文件中使用此代码:
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^ welcome.php [L,R=302]
RewriteRule ^page/(\d+)/([^/]+)/?$ index.php?p=$1&nav=$2 [QSA,L,NC]
在第一个规则中使用THE_REQUEST
非常重要,因为该变量不会随着其他规则的应用而发生变化,以避免重定向循环。
答案 1 :(得分:0)
在web_root / htaccess中尝试此操作
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/index\.php$
RewriteRule .* /welcome.php [L]
RewriteRule ^page/([0-9]+)/(.*)/?$ /index.php?p=$1&nav=$2 [QSA,L]