我的网站主页为/var/www/mysite/index.html
现在我想将www.mysite.com/x2312d
引导至/var/www/mysite/app/pass.php?id=x2312d
我该怎么做呢?
我应该在哪里创建.htaccess
文件以及它的内容应该是什么?
答案 0 :(得分:3)
在您的根/var/www
的.htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ /app/pass.php?id=$1 [NC,L]
答案 1 :(得分:1)
将.htaccess文件放在/ var / www / mysite / app /中。我假设你的docroot是/ var / www / mysite /
确保apache 2启用了重写模块
htaccess的:
RewriteEngine On
#allows you to still access static items in this dir
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g)$
#sent it all to pass script
RewriteRule (.*)$ pass.php [L]
我喜欢这种方法,假设pass是某种控制器。我的rest api控制器从$ _SERVER全局变量手动解析/ x23123d,但你可以使用不同的重写来让它在$ _GET / $ _ REQUEST ['id']全局变量中。
类似的东西:
RewriteRule ^app/(.+)$ app/pass.php?id=$1 [PT,L,QSA]
好的参考文献:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule
编辑:差点忘了,别忘了处理尾随斜杠。