我正在使用php创建一个小型动态网站,并尝试创建重写,以便网址看起来更好。 (我使用XAMPP)
rootfolder是当前的“localhost / students”。
首先,.htaccess
是否需要在该文件夹或localhost文件夹中?
中学,我希望我的所有请求都转到index.php
但不显示“index.php”。此外,我很乐意将students\index.php?site=question&question=1
重写为students\question\1
所以我试着像这样开始:
RewriteEngine on
RewriteBase /students
RewriteRule ^/question/([0-9]+)$ index.php?site=question&question=$1
但这实际上没什么。我该怎么做?是否有更好的解决方案来重写网址?
最后但并非最不重要的是,是否可以通过该网址复制再次访问同一网站?我抓住$_GET('site)
来生成正确的内容。
答案 0 :(得分:1)
您需要将此代码保留在/students/.htaccess
:
RewriteEngine on
RewriteBase /StudentsHelp/
RewriteCond %{THE_REQUEST} /(?:index\.php)?\?site=(question)&question=([^\s&]+) [NC]
RewriteRule ^ %1/%2? [R=302,L]
RewriteCond %{THE_REQUEST} /(?:index\.php)?\?site=(register) [NC]
RewriteRule ^ %1? [R=302,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^question/([0-9]+)/?$ index.php?site=question&question=$1 [L,QSA,NC]
RewriteRule ^(register)/?$ index.php?site=$1 [L,QSA,NC]