我是.htaccess的新手,我尝试使用Google上的每一个问题来搜索.htaccess来理解。我找到了很少的教程,但我什么都听不懂。
第一个问题: 与.htaccess有关的输入网址和输出网址之间有什么区别
第二个问题:
PHP,在我有一个索引页面
header('Location:http://example.com/index.php?p=test&c=math&t=geometry&id=100');
我想要的浏览器网址是
http://example.com/test/math/geometry/100
并使用htaccess我希望将以下网址返回到php
http://example.com/index.php?p=test&c=math&t=geometry&id=100
第三个问题:
如果在某种程度上,上述情况是可能的 我怎样才能做到这一点 在PHP中,在索引页面
header('Location:http://example.com/index.php?p=test&t=geometry&id=100');
使用.htaccess我想在url上获得以下代码
http://example.com/test/geometry/100
和php应该从.htaccess获取以下代码
http://example.com/index.php?p=test&t=geometry&id=100
第四个问题: 请帮助我,我也找到了以下解决方案,我无法理解以下代码中发生的情况。
RewriteEngine on
DirectoryIndex index.php
# REDIRECT Force requests for named index files to drop the index file filename, and force non-www to avoid redirect loop
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]*/)*index\.(html?|php[45]?)(\?[^\ ]*)?\ HTTP/
RewriteRule ^(([^/]*/)*)index\.(html?|php[45]?)$ http://example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+)/([^\.]+)\.php\ HTTP/
RewriteRule ^([a-zA-Z0-9_-]+)/([^.]+)\.php$ http://example.com/$1/$2 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+)/([^/]+)/([^\.]+)\.php\ HTTP/
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([^.]+)\.php$ http://example.com/$1/$2/$3 [R=301,L]
# REDIRECT www to non-wwww
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule .? http://example.com%{REQUEST_URI} [R=301,L]
# REWRITE url to filepath
RewriteRule ^([a-zA-Z0-9_-]+)/([^/.]+)$ /$1/$2.php [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([^/.]+)$ /$1/$2/$3.php [L]
提前致谢